unity制作简单血条

第一步制作血条

新建Canvas  修改RenderMode为World Space,调整RectTransform

unity制作简单血条_第1张图片

 

新建Image,命名为Background,修改Source Image为InputFieldBackground,修改Color为红色

unity制作简单血条_第2张图片

复制Background作为本身的子物体,改颜色为绿色,修改锚点,修改Pivot为0,0

unity制作简单血条_第3张图片

只需要修改width就可以看到血条效果,给物体Healthbar添加HealthController脚本

using UnityEngine;

public class HealthController : MonoBehaviour {

   
    public float maxHealth=1000;//最大血量
    public float currentHealth = 1000;//当前血量
    RectTransform rectTransform;
    private float width;//100  //记录血量宽度
                        //1000 
    // Use this for initialization
    void Start () {
         rectTransform = GetComponent();
        width = rectTransform.sizeDelta.x;

    }
	
	// Update is called once per frame
	void Update () {
       
            if (currentHealth>= maxHealth)
            {
                currentHealth = maxHealth;
            }
           if (currentHealth<=0)
           {
            currentHealth = 0;
            }
            rectTransform.sizeDelta = new Vector2(width/maxHealth*currentHealth, rectTransform.sizeDelta.y);
        
       
	}
}

运行程序后,可以通过修改CurrentHealth的值来改变血量(小知识:unity 编辑器界面如何能调用OnGUI和Update等函数,把 [ExecuteInEditMode]写在类上方来通知编译器,该类的OnGUI和Update等函数在编辑模式也也会被调用; )

 

unity制作简单血条_第4张图片

 

 

你可能感兴趣的:(总栏目)