Unity-使用GUI繪製進度條或者血條

橫向:

縱向:

將下面的腳本掛在camera上,並創建一個GUI Skin;

using UnityEngine;
using System.Collections;

public class BloodBarTest : MonoBehaviour
{
    public GUISkin theSkin;
    public float bloodValue = 0.0f;
    private float tmpValue;
    private Rect rctBloodBar;
    private Rect rctUpButton;
    private Rect rctDownButton;
    private bool onoff;

    void Start()
    {
        //血條或者進度條-縱向
        rctBloodBar = new Rect(20, 20, 20, 200);
        rctUpButton = new Rect(50, 20, 40, 20);
        rctDownButton = new Rect(50, 50, 40, 20);
        
        ////血條或者進度條-橫向
        //rctBloodBar = new Rect(20, 20, 200, 20);
        ////加血-按鈕
        //rctUpButton = new Rect(20, 50, 40, 20);
        ////減血-按鈕
        //rctDownButton = new Rect(70, 50, 40, 20);
        //實時獲取HP
        tmpValue = bloodValue;
    }

    void OnGUI()
    {
        GUI.skin = theSkin;
        if (GUI.Button(rctUpButton, "加血"))
        {
            tmpValue = -1.0f;
        }
        if (GUI.Button(rctDownButton, "減血"))
        {
            tmpValue += 0.1f;
        }
        if (bloodValue > 0.0f) tmpValue = 0.0f;
        if (bloodValue < -1.0f) tmpValue = -1.0f;
        //插值計算HP值
        bloodValue = Mathf.Lerp(bloodValue, tmpValue, 0.05f);
        GUI.VerticalScrollbar(rctBloodBar, 1.0f, bloodValue, 0.0f, 1.0f, GUI.skin.GetStyle("verticalScrollbar"));
        //GUI.HorizontalScrollbar(rctBloodBar, 1.0f, bloodValue, 1.0f, 0.0f, GUI.skin.GetStyle("horizontalscrollbar"));
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章