其实利用UGUI做技能CD还是很简单的
先利用unity自带的UGUI搭建UI界面如下图:
具体代码如下:
首先需要引用using UnityEngine.UI;的命名空间
下面定义都是公有的直接拖就可以了
千万不用忘记给按钮绑定事件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour {
public float timeCount;//计时器
public float timeCD;//技能cd
public Image image;//遮罩图片
public Text text;//计时文本
public Button btn;//定义出技能按钮
public bool isCooling;//是否是冷却状态
// Use this for initialization
void Start () {
}
public void BtnEvent()
{
if (!isCooling)
{
image.fillAmount = 1;//按下按钮式遮罩图片的fillAmount=1;
image.gameObject.SetActive(true);//显示遮罩图片
text.gameObject.SetActive(true);//显示数字文本框
text.text = timeCD.ToString("f1");//文本框显示的数字并保留一位小数
isCooling = true;
timeCount = timeCD;
}
}
// Update is called once per frame
void Update () {
if (isCooling)
{
timeCount -= Time.deltaTime;//计时器赋值
image.fillAmount = timeCount / timeCD;//遮罩图片的fillAmount赋值
text.text = timeCount.ToString("f1");//给文本框赋值保留一位小数
if (timeCount<=0)
{
isCooling = false;
image.gameObject.SetActive(false);
text.gameObject.SetActive(false);
}
}
}
}
如有不足,欢迎指出!!!