Unity3D游戏开发之人物和怪物头顶的标签显示.docx_第1页
Unity3D游戏开发之人物和怪物头顶的标签显示.docx_第2页
Unity3D游戏开发之人物和怪物头顶的标签显示.docx_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Unity3D游戏开发之人物和怪物头顶的标签显示今天我们需要完善项目,我就做了人物头顶顶名称,怪物头顶顶名称和血条,我们就暂时俗称它为人物的标签吧。虽然只是做了一点点,但是我还是觉得蛮有意思的。 做成的效果如图所示: 我们就以老鼠来当例子吧。代码如下:1. using UnityEngine;2. using System.Collections;3.4. public class MouseHeader : MonoBehaviour 5.6. /主摄像机对象7. private Camera camera;8. /怪物名称9. private string name = 老鼠;10. /主角对象11. GameObject hero;12. /怪物模型高度13. float mouseHeight;14. /红色血条贴图15. public Texture2D blood_red;16. /黑色血条贴图17. public Texture2D blood_black;18.19. void Start()20. 21. /根据Tag得到主角对象22. hero = GameObject.FindGameObjectWithTag(Player);23. /得到摄像机对象24. camera = Camera.main;25. /得到模型原始高度26. float size_y = collider.bounds.size.y + 0.3f;27. /得到模型缩放比例28. float scal_y = transform.localScale.y + 0.3f;29. /它们的乘积就是高度30. mouseHeight = (size_y * scal_y);31. 32. void Update()33. 34. /保持NPC一直面朝主角35. transform.LookAt(hero.transform);36. 37. void OnGUI()38. 39. /得到NPC头顶在3D世界中的坐标40. /默认NPC坐标点在脚底下,所以这里加上npcHeight它模型的高度即可41. Vector3 worldPosition = new Vector3(transform.position.x, transform.position.y + mouseHeight, transform.position.z);42. /根据怪物头顶的3D坐标换算成它在2D屏幕中的坐标43. Vector2 position = camera.WorldToScreenPoint(worldPosition);44. /得到真实怪物头顶的2D坐标45. position = new Vector2(position.x, Screen.height - position.y);46. /计算出血条的宽高47. Vector2 bloodSize = GUI.skin.label.CalcSize(new GUIContent(blood_red) / 2;48. /通过血值计算红色血条显示区域49. float blood_width = blood_red.width * Stone.mouseHP / 10;50. /先绘制黑色血条51. GUI.DrawTexture(new Rect(position.x - (bloodSize.x / 2), position.y - bloodSize.y, bloodSize.x, bloodSize.y), blood_black);52. /在绘制红色血条53. GUI.DrawTexture(new Rect(position.x - (bloodSize.x / 2), position.y - bloodSize.y, blood_width, bloodSize.y), blood_red);54. /计算怪物名称的宽高55. Vector2 nameSize = GUI.skin.label.CalcSize(new GUIContent(name);56. /设置显示颜色为黄色57. GUI.skin.label.fontSize = 15;58. GUI.color = Color.yellow;59. /绘制怪物名称60. GUI.Label(new Rect(position.x - (nameSize.x / 2), positio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论