血条制作以及移动
……
……
血条是游戏中很常见的游戏物品。
我记录一下我制作血条以及血条跟随角色移动的方法。
首先。
要剖析一下血条。
一般来说。
角色的血条都是绿色的。
而一旦角色掉血的话,掉血的部分就会变成黑色。
比如这样:
所以。
这里就需要用到UI中的Image。
绿色的部分是一个Image。
而黑色的部分,也是一个Image。
而脚本逻辑所要做到的就是让角色在掉血的时候,控制绿色Image的缩放。
有些人可能会想。
如果缩放的话,那岂不是绿色部分直接就缩小了吗?怎么往左边缩了?
这里就不得不提到Pivot。
只要把Pivot设置到上图所示的坐标,就可以按照比例向左减少血条,在代码中也可以很方便的进行控制。
如下图所示,如果角色的HP小于等于0就直接游戏失败了,就调用游戏失败的方法。而如果HP大于0的话,就先算出HP的比例,然后下面调用localScale对x进行按比例缩小,就可以实现血条的控制了。
……
……
那怎么让血条跟随角色移动呢?
如上图所示。
可以看到,我调用了主摄像机,将一个HP_pos.position转化为了屏幕坐标。
那么,这个HP_pos.position是什么呢?其实,这个其实是一个空物体的坐标。很简单,比如说,我需要把血条挂在角色的脑袋上,那么,我这个空物体的位置就在角色的脑袋上(这个空物体是角色的子物体,这样就可以跟随角色一起移动),就是这样。
然后下面那句代码,hp_Panel就是血条(血条的黑色Image为父物体,绿色Image为子物体,这里是移动父物体hp_Panel),将血条移动到我第一句代码所设置的3D位置所代表的屏幕坐标。也就是说,把血条移动到角色的脑袋上。
并且,由于是在Update中执行,所以血条会随着角色的变化而变化。
这样,就实现了一个简单的血条跟随角色移动的逻辑。
……
……