Unity3D开发之游戏之怪物头上血条制作.doc
上传人:qw****27 上传时间:2024-09-11 格式:DOC 页数:4 大小:65KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Unity3D开发之游戏之怪物头上血条制作.doc

Unity3D开发之游戏之怪物头上血条制作.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Unity开发之3D游戏之怪物头上血条制作今天我们又重新改了一下我们的项目,并且信添加了一些新的功能。HYPERLINK"http://unity.gopedu.com/home.php?mod=space&do=blog&view=me"Unity游戏中血条在npc的的头顶上,并且上面写着npc的名字//主摄像机对象privateCameracamera;//NPC名称privatestringname="老鼠";//NPC模型高度floatnpcHeight;//红色血条贴图publicTexture2Dblood_red;//黑色血条贴图publicTexture2Dblood_black;//默认NPC血值privateintHP=100;voidStart(){//得到摄像机对象camera=Camera.main;//注解1//得到模型原始高度floatsize_y=collider.bounds.size.y;//得到模型缩放比例floatscal_y=transform.localScale.y;//它们的乘积就是高度npcHeight=(size_y*scal_y);}voidOnGUI(){//得到NPC头顶在3D世界中的坐标//默认NPC坐标点在脚底下,所以这里加上npcHeight它模型的高度即可Vector3worldPosition=newVector3(transform.position.x,transform.position.y+npcHeight,transform.position.z);//根据NPC头顶的3D坐标换算成它在2D屏幕中的坐标Vector2position=camera.WorldToScreenPoint(worldPosition);//得到真实NPC头顶的2D坐标position=newVector2(position.x,Screen.height-position.y);//注解2//计算出血条的宽高Vector2bloodSize=GUI.skin.label.CalcSize(newGUIContent(blood_red));//通过血值计算红色血条显示区域intblood_width=blood_red.width*HP/100;//先绘制黑色血条GUI.DrawTexture(newRect(position.x-(bloodSize.x/2),position.y-bloodSize.y,bloodSize.x,bloodSize.y),blood_black);//在绘制红色血条GUI.DrawTexture(newRect(position.x-(bloodSize.x/2),position.y-bloodSize.y,blood_width,bloodSize.y),blood_red);//注解3//计算NPC名称的宽高Vector2nameSize=GUI.skin.label.CalcSize(newGUIContent(name));//设置显示颜色为黄色GUI.color=Color.yellow;//绘制NPC名称GUI.Label(newRect(position.x-(nameSize.x/2),position.y-nameSize.y-bloodSize.y,nameSize.x,nameSize.y),name);}下图是在立方体上加的脚本文章来自【狗刨学习网】