角色血条跟随

GameObject分为2D & 3D,然而血条Slider是UI系统里的,要跟随的话我目前找到了两种方法:


1. main camera跟随角色移动(拉成子对象,或者镜头上挂脚本控制),在scene里调整好slider的位置,播放时血条就跟随了。但效果很差,往往角色先跑到一个地方,血条一个大漂移才跟随上了。

这是2D 对象的跟随,如果对象时3D,则要把slider所在的canvas设置成WorldSpace然后在Event Camera选项里把Main Camera拖进去就好了。


2.在角色上或者滑条上挂跟随脚本,如果是3D对象就先用Camera.main.WorldToScreenPoint()转换一下角色的坐标,然后slider的transform.position就等于这个坐标在加一点vector2的偏移。

如果是2D对象则是把角色的position.x & position.y存入一个新Vector2,然后就一样的原理。

这是挂在角色上的:

角色血条跟随


这是挂在Slider上的:

角色血条跟随


注意:

Slider做血条时通常不许输入,所以都会删掉或禁用Handle Slider Area。这时Background和Fill Area无法对齐,可以把Fill Area的Left和Right都改为0。


参考:

http://blog.****.net/u011185231/article/details/50363731

https://www.youtube.com/watch?v=-GNEyf-GhGs