1,创建技能按钮,在该按钮物体上创建图片作为子物体,图片格式设为360度填充,添加监听事件
2.挂载脚本,给button添加点击事件
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; } } }