Unity简单的血条制作(UnityEngine.UI.Slider)

  1. 在开始之前先制作Slider血条的预制体

  1. 新建一个canvas。再创建UI->滑动条,将滑动条置于此canvas中,这个canvas一会用于制作预制体。

  1. 将Background,Handle Slider Area删除。

  1. 再上图中选择Fill。在inspector中,源图像选择血条图片,图像类型选择已填充,填充方法水平,保持长宽比。

  1. 将其制作为预制体并放在Resources文件夹下

2.在你的c#脚本中适当放置下面这些代码即可

Transform canvasTransform;
UnityEngine.UI.Slider Slider;
    private void Start()
    {
        //血条
        //指定父级this.transform为预想指定的(一般是小怪物)物体
        canvasTransform = Instantiate(Resources.Load<GameObject>("Canvas3D"), Vector3.zero, Camera.main.transform.rotation, this.transform).transform;
        //设置当前相对于怪物的位置
        canvasTransform.localPosition = new Vector3(0,2.0f,0);
        //设置缩放
        canvasTransform.localScale = new Vector3(0.02f, 0.02f, 0.02f);
        //获取Slider组件
        Slider = canvasTransform.GetComponentInChildren<UnityEngine.UI.Slider>();
        //使用协程
        StartCoroutine(UpdataLifebar());
        
    }
    IEnumerator UpdataLifebar()
    {
        //Slider值为0-1之间
        Slider.value = (float)m_life/(float)m_maxLife;
        //设置欧拉角
        canvasTransform.transform.eulerAngles = Camera.main.transform.eulerAngles;
        yield return 0;
        //刷新
        StartCoroutine(UpdataLifebar());
    }

猜你喜欢

转载自blog.csdn.net/HeDanTou_/article/details/129468205