UnityD游戏开发之伤害数值显示.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UnityD游戏开发之伤害数值显示

Unity3D游戏开发之伤害数值显示 众所周知,在RPG游戏策划中最为重要的一个环节是数值策划。数值策划是一个关于游戏平衡方面的概念,它是一种非常深奥的概念。游戏从某种意义上 是多种选择的组合,因此如果一个游戏失去平衡,那么就会减少选择而影响游戏的乐趣。数值策划人员通常需要按照一定的规则和方法将整个游戏系统的相关数值调整到一个合适的范围,以确保玩家可以有更多地选择以增强游戏的可玩性。文章出处:狗刨学习网。数值策划是近年来国内游戏行业从国外游戏业引申过来的一个概念,博主认为我们在学习游戏设计的过程中,除了专注于技术上的实现以外,还应该对游戏设计中的相关理论有所了解。 ? ?? ?? ?好了,下面我们开始今天的内容:Unity3D游戏开发之伤害数值显示。如图所示,是博主十分喜欢的一部游戏《血雨前传:蜃楼》。这部游戏虽然脱离了前两部作品回合制的模式,以爽快的ACT横版过关模式再次进入玩家的视野中,但是相信只有真正玩过这个游戏的人才知道这是一部地地道道的RPG游戏,诡异、独特的画面风格,古龙式武侠叙事风格都为这部作评带来了无限的生命力。而《雨血》系列更是近年来少有的走出国门、享誉国外的游戏。这部游戏一招一式都很华丽,而且爽快的打击感让人欲罢不能。作为一部PRG游戏,在战斗中最重要的当属敌我双方生命值的对比,所以在战斗中实时显示玩家对敌人造成的伤害值十分重要。文章出处:狗刨学习网。《仙剑奇侠传五前传》更是在战斗中加入了伤害统计,方便玩家对于战场局势的把握。好了,讲了这么多,我们来继续我们的Unity3D学习之旅,在下面的文章中,我们将使用Unity3D中的OnGUI()方法来实现伤害数值的 显示。 ? ?? ?? ? ?? ?? ?既然是基于OnGUI()方法的, 相信大家一定很熟悉了,所以我们直接给出代码: 1. using UnityEngine;?? 2. using System.Collections;?? 3. ?? 4. public class DamagePopup : MonoBehaviour {?? 5. ?? 6. ? ? //目标位置?? 7. ? ? private Vector3 mTarget;?? 8. ? ? //屏幕坐标?? 9. ? ? private Vector3 mScreen;?? 10. ? ? //伤害数值?? 11. ? ? public int Value;?? 12. ?? 13. ? ? //文本宽度?? 14. ? ? public float ContentWidth=100;?? 15. ? ? //文本高度?? 16. ? ? public float ContentHeight=50;?? 17. ?? 18. ? ? //GUI坐标?? 19. ? ? private Vector2 mPoint;?? 20. ?? 21. ? ? //销毁时间?? 22. ? ? public float FreeTime=1.5F;?? 23. ?? 24. ? ? void Start ()? ? 25. ? ? {?? 26. ? ?? ???//获取目标位置?? 27. ? ?? ???mTarget=transform.position;?? 28. ? ?? ???//获取屏幕坐标?? 29. ? ?? ???mScreen= Camera.main.WorldToScreenPoint(mTarget);?? 30. ? ?? ???//将屏幕坐标转化为GUI坐标?? 31. ? ?? ???mPoint=new Vector2(mScreen.x,Screen.height-mScreen.y);?? 32. ? ?? ???//开启自动销毁线程?? 33. ? ?? ???StartCoroutine(Free);?? 34. ? ? }?? 35. ?? 36. ? ? void Update()?? 37. ? ? {?? 38. ? ?? ???//使文本在垂直方向山产生一个偏移?? 39. ? ?? ???transform.Translate(Vector3.up * 0.5F * Time.deltaTime);?? 40. ? ?? ???//重新计算坐标?? 41. ? ?? ???mTarget=transform.position;?? 42. ? ?? ???//获取屏幕坐标?? 43. ? ?? ???mScreen= Camera.main.WorldToScreenPoint(mTarget);?? 44. ? ?? ???//将屏幕坐标转化为GUI坐标?? 45. ? ?? ???mPoint=new Vector2(mScr

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档