游戏CD

来源:互联网 发布:风速打印软件下载 编辑:程序博客网 时间:2024/06/07 07:21

复制代码
using UnityEngine;using System.Collections;using UnityEngine.UI;public class HealthController : MonoBehaviour {    //当前对象是血条还是蓝条    public bool isHealth = false;    //虚拟轴,横轴,纵轴    private float hor,ver;    //血条的最大宽度    private float healthMaxWidth = 470;    //蓝条的最大宽度    private float powerMaxWidth = 425;    //当前的虚拟轴    private float currentAxis;    //当前的最大宽度    private float currentMaxWidth;    //RectTransform组件    private RectTransform rectTr;    //速度    public float speed = 100;    //血条文本    public Text healthText;    //蓝条文本    public Text powerText;    //血条蓝条的最大值    public float healthMaxValue = 1000f;    public float powerMaxValue = 500f;    //当前的条的最大值    private float currentMaxValue;    //当前修改的文本显示框    private Text currentText;    void Start()    {        rectTr = GetComponent<RectTransform> ();    }    void Update()    {        hor = Input.GetAxis ("Horizontal");        ver = Input.GetAxis ("Vertical");        //如果是血条        if (isHealth) {            currentAxis = hor;            currentMaxWidth = healthMaxWidth;            currentText = healthText;            currentMaxValue = healthMaxValue;        }        //如果是蓝条        else {            currentAxis = ver;            currentMaxWidth = powerMaxWidth;            currentText = powerText;            currentMaxValue = powerMaxValue;        }        //根据用户的操作,计算当前条的宽度        float newWidth = rectTr.sizeDelta.x +            currentAxis * Time.deltaTime * speed;        //限制宽度        float realWidth = Mathf.Clamp (newWidth, 0, currentMaxWidth);        //赋值到RectTransform        rectTr.sizeDelta = new Vector2(realWidth,rectTr.sizeDelta.y);        //计算当前数值        float currentValue = (realWidth / currentMaxWidth) * currentMaxValue;        //转整数操作        currentValue = Mathf.Round (currentValue);        //将数值信息显示到Text        currentText.text = currentValue.ToString () + "/"            + currentMaxValue.ToString ();    }}

原创粉丝点击