技能冷却效果的制作

技能冷却效果的制作

前言:在学习的过程中,不管是在手游还是页游中,我们会制作技能冷却效果的制作。这是非常适用的东西。同时也非常的简单,我们直接奉献代码:

 

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

 

 

 

原文地址:https://www.cnblogs.com/MoRanQianXiao/p/7861195.html