天天看點

技能冷卻效果的制作

技能冷卻效果的制作

前言:在學習的過程中,不管是在手遊還是頁遊中,我們會制作技能冷卻效果的制作。這是非常适用的東西。同時也非常的簡單,我們直接奉獻代碼:

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