橫向:
縱向:
將下面的腳本掛在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"));
}
}