首页 > 游戏开发 > 血条或进度条的效果

血条或进度条的效果

2010年11月9日 发表评论 阅读评论

用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 () {  

    }  
}
分类: 游戏开发 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.