1,建立技能按鈕,在該按鈕物體上建立圖檔作為子物體,圖檔格式設為360度填充,添加監聽事件

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SkillCD : MonoBehaviour
{
private UISprite skillMask;
public float coldTimer = 2; //技能冷卻時間
private bool isCD = false; //是否冷卻中
private void Awake()
{
//擷取按鍵
skillMask = transform.Find("Sprite").GetComponent<UISprite>(); //擷取技能陰影遮罩
}
void Update()
{
if(Input.GetKeyDown(KeyCode.A))
{
SkillClick();
}
if(isCD)
{
skillMask.fillAmount -= (1 / coldTimer) * Time.deltaTime; // 1/coldTimer 每秒恢複數值 1/coldTimer*Time.deltaTime 每幀恢複技能數值
if(skillMask.fillAmount<=0.05f) //當fillAmount小于一定數值時 就當作已經清零
{
skillMask.fillAmount = 0;
isCD = false; //清除冷卻
}
}
}
public void SkillClick()
{
if(isCD==false)
{
//1.釋放技能,建立粒子系統,顯示技能特效
//2.UI上顯示技能冷卻效果
skillMask.fillAmount = 1; //蒙皮
isCD = true;
}
}
}