Step4:点击键盘A和D查看运行结果如图:
GUITexture是二维GUI中的纹理图片,在Scene视图中不能显示Texture的样子它的样子只能在摄像机中看到。
你需要将下面代码掛到Cube上再拖上对应的PNG图片。
//GUITexture的位置是相对于摄像机屏幕的位置左下角是(0,0,0)右上角(1,1,0)忽略Z坐标。 //设置相对于自身的坐标和大小
其实在之前的打飞碟游戏中,我完成了一个简易的血条设计效果图如下:
当时的实现方式是通过在OnGUI中即时显示若干个 # 字符来表示血量的多少,关键性代码如下:
学习了UI系统的相关知识之后可以將这个比较简陋的设计进一步完善。
使用来完成血条预制的制作通过修改它的size属性值来表示血量的多少。
在OnGUI函数中先是判断点击的是加血量还是减血量按钮,再接收相应的血量变化的数值
为了使血量的变化过程连贯流畅,用Math.Lerp插值计算血量值以此避免血量突变。
完成效果如下图首先点击加或减的按钮,然后点击数值按钮即可看到血量值相应变化。
添加人物模型、画布Canvas、slider与plane层次树结构如下图:
其Φ加上了两个按钮,分别用来加减血量完成这些的效果图如下:
相应的属性值调整如下图:
此时让人物运动,血条会跟着人物转动而转動需要让它面向主摄像机。
编写脚本挂载在Canvas上代码如下:
通常使用LookAt函数使对象面对摄像机,但是这个函数是使对象朝向一个点还是會引起对象的转向,我使用LookRotation函数使对象始终保持固定的朝向,效果更能满足预期
IMGUI完成的血条预制为bloodBar,拖放至场景中即可使用可自由加减一定数量的血量。
UGUI完成的血条预制为bloodBar_UGUI以人物模型作为父对象,拖放至场景中即可使用用方向键控制人物移动。
Step4:点击键盘A和D查看运行结果如图:
GUITexture是二维GUI中的纹理图片,在Scene视图中不能显示Texture的样子它的样子只能在摄像机中看到。
你需要将下面代码掛到Cube上再拖上对应的PNG图片。
//GUITexture的位置是相对于摄像机屏幕的位置左下角是(0,0,0)右上角(1,1,0)忽略Z坐标。 //设置相对于自身的坐标和大小