血条或进度条的效果
用Unity做血条或进度条真的很方便,GUI里scrollbar就可以轻松实现,再加上lerp一个血条或进度条就完成了。
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; // Use this for initialization void Start () { rctBloodBar = new Rect (20,20,20,200); rctUpButton = new Rect (50,20,40,20); rctDownButton = new Rect (50,50,40,20); 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; bloodValue = Mathf.Lerp(bloodValue,tmpValue,0.05f); //~ Debug.Log (bloodValue + " " + tmpValue); GUI.VerticalScrollbar(rctBloodBar, 1.0f, bloodValue,0.0f, 1.0f,GUI.skin.GetStyle("verticalScrollbar")); } // Update is called once per frame void Update () { } }
分类: 游戏开发