Unity3D---使用GUI实现血条的制作

血条的制作有很多的方法,在此介绍使用GUI制作血条的方法,希望对大家有所帮助:

using UnityEngine;
using System.Collections;

public class PlayerHealth : MonoBehaviour {
    //玩家最大血量
    public int maxHealth =100;
    //玩家当前血量
    public int curHealth = 100;
    //血条的长度
    public float healthBarLength;

    void Start () {
        //设置血条的长度等于屏幕宽度的一半
        healthBarLength = Screen.width / 2;
    }


    void Update () {
        //使用自定义调节当前血量的方法
        AdjustCurHealth (0);
    }
    void OnGUI () {
        //使用GUI.Box绘制血条
        GUI.Box (new Rect (10, 10, healthBarLength, 20), curHealth + "/" + maxHealth);
    }
    //自定义调节当前血量的方法
    public void AdjustCurHealth (int adj) {
        curHealth += adj;
        //判断当前血量是否小于零,如果小于零,则设置当前血量等于零
        if (curHealth < 0) {
            curHealth = 0;
                }
       //判断当前血量是否大于最大血量,如果大于最大血量,则设置当前血量等于最大血量
        if (curHealth>maxHealth ) {
            curHealth = maxHealth;
                }
        //判断最大血量是否小于1,如果小于1,则设置最大血量等于1
        if (maxHealth < 1) {
            maxHealth = 1; 
                }
        //血条值的变化
        healthBarLength = (Screen.width / 2) * (curHealth / (float)maxHealth);
    }
}

以上就是GUI绘制血条的方法,需要注意的是血条值变化的判断,祝大家下午愉快!

你可能感兴趣的:(Unity基础开发)