Unity中UGUI人物血条跟随的几种实现方式

Posted 阶梯之上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity中UGUI人物血条跟随的几种实现方式相关的知识,希望对你有一定的参考价值。

具体场景布置请参考上一篇博文http://blog.csdn.net/u011185231/article/details/50363392

现在我们讲第二种,相比第一种也很简单

大概原理是:把Player的世界坐标转为屏幕坐标,血条坐标就等于Player的屏幕坐标加上Player中心点到头顶的差值

首先创建Canvas(注意这里的Canvas不要作为Player的子物体)并创建Slider,并且把slider下面的Background和Handle Slide Area删除掉或者禁用掉。大概布局就是这样!


具体血条制作也跟上篇相似,这里不多讲。效果如图



在Player身上加一个Follow脚本,在Player身上加脚本而不在slider身上加脚本的原因是我想让血条超出屏幕就关闭显示,这样对优化有好处


脚本也很简单,几行代码就能实现一个很炫酷的功能:

public float xOffset;
    public float yOffset;
    public RectTransform recTransform;

	void Update ()
	
        Vector2 player2DPosition = Camera.main.WorldToScreenPoint(transform.position);
	    recTransform.position = player2DPosition + new Vector2(xOffset, yOffset);

        //血条超出屏幕就不显示
        if (player2DPosition.x > Screen.width || player2DPosition.x < 0 || player2DPosition.y > Screen.height || player2DPosition.y < 0)
	    
            recTransform.gameObject.SetActive(false);
	    
	    else
	    
            recTransform.gameObject.SetActive(true);
	    
	

点击运行就能看到血条已经在头顶显示了,并且如果角色不在屏幕内,血条会自动关闭。


是不是很带感!

以上是关于Unity中UGUI人物血条跟随的几种实现方式的主要内容,如果未能解决你的问题,请参考以下文章

unity制作血条怎么一点一点加血

unity3d中怎样制作血条跟随角色运动

Unity摄像机跟随的几种方案

ugui血条

Unity3D血条(HP)

实现unity自定义资源