Unity中血条ui制作(二)

北慕城南 提交于 2020-02-04 13:25:21

Unity中血条ui制作(二)

代码 :

using UnityEngine;

public class HealthBar : MonoBehaviour
{
    public float healthValue = 100f;  //血量上限

    /// <summary>
    /// 当前血量属性,外部访问器
    /// </summary>
    public float Health
    {
        get
        {
            return health;
        }
        set
        {
            if (health != value)
            {
                Refresh();
                health = value;
            }
        }
    } 
    private float health;

    private void Start()
    {
        health = healthValue;
        transform.localScale.Normalize();
    }

    void Refresh()
    {
        transform.localScale = new Vector3(Health / healthValue, 1, 1);
    }
}

思路 :
根据血量控制血条Bar物体的transform.localScale的x轴值.
脚本要挂在Bar物体上.

using UnityEngine;

public class PlayerHealth : MonoBehaviour
{
    HealthBar healthBar;

    private void Start()
    {
        healthBar = GetComponentInChildren<HealthBar>();
    }

    void Update()
    {
        healthBar.Health -= Time.deltaTime;
    }
}

血条挂在玩家物体上,可以通过改变Health值影响血条.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!