技能冷却效果的制作
前言:在学习的过程中,不管是在手游还是页游中,我们会制作技能冷却效果的制作。这是非常适用的东西。同时也非常的简单,我们直接奉献代码:
public class SkillCoolingEffect : MonoBehaviour { #region 字段和属性定义 [HideInInspector] public float ColdTime = 2f; //冷却的时间 public Button Button; //按钮的引用 private bool _isStartSkill = false; //是否开始冷却 private Image _filledImage; //技能冷却的填充图片 #endregion void Start() { //按钮注册监听的事件 Button.onClick.AddListener(OnClick); //得到Image组件的引用 _filledImage = transform.Find("FilledImage").GetComponent<Image>(); } void Update() { //点击按钮开始进行技能的冷却 if (_isStartSkill) { //_timer += Time.deltaTime; //控制fillAmount属性进行从1-0的递减 _filledImage.fillAmount = (ColdTime - Time.time) / ColdTime; //_filledImage.fillAmount = 1 / ColdTime * Time.time; //当时间大于等于冷却的时间的时候 if (Time.time >= ColdTime) { //手动设置fillAmount=0 _filledImage.fillAmount = 0; //冷却结束 布尔条件重新设置为false _isStartSkill = false; } } } #region 公共方法的定义 #endregion #region 私有方法的定义 /// <summary> /// 点击按钮后开始进行冷却 /// </summary> private void OnClick() { _isStartSkill = true; } #endregion }//class_end