1、创建技能UI,点击Panel,鼠标右击,选择UI中的Image,作为底图;再以这张图为父物体,创建子图,用作填充图片
2、在底图中添加Button组件
3、创建代码添加到底图中,需要给代码添加 using UnityEngine.UI;指令
public KeyCode keyCode;//定义一个键盘值
private Image fillImg;//填充图片
private Text waitTxt;//冷却文本
private float waitTimer = 5f;//等待时间
private float timer = 0;//初始时间
private bool isStartCold = false;//是否点击
void Start()
{
fillImg = transform.GetChild(0).GetComponent<Image>();//获取图片组件
waitTxt = transform.GetChild(1).GetComponent<Text>();//获取文本逐渐
}
void Update()
{
if (isStartCold == false && Input.GetKeyDown(keyCode))//使用键盘时间进行技能冷却
{
isStartCold = true;//点击为正确
fillImg.gameObject.SetActive(true);//显示填充图片
waitTxt.gameObject.SetActive(true);//显示冷却文本
}
if (isStartCold)
{
timer += Time.deltaTime;//计算游戏时间
float a = waitTimer - timer;//倒计时
fillImg.fillAmount = a / waitTimer;//给填充图片赋值
waitTxt.text = a.ToString();//转换倒计时
}
if (timer>=waitTimer)//游戏时间大于冷却时间,初始化游戏时间、bool值,隐藏冷却文本
{
timer = 0;
isStartCold = false;
waitTxt.gameObject.SetActive(false);
}
}
public void OnClickHandler()//鼠标点击方法,点击后显示填充图片、冷却文本、给bool赋值
{
fillImg.gameObject.SetActive(true);
waitTxt.gameObject.SetActive(true);
isStartCold = true;
}