unity 利用ugui 制作技能冷却效果

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class SkillItem : MonoBehaviour {

    //冷却时间
    public float coldTime = 2.0f;

    //定时器
    private float timer = 0f;

    //前面的一张填充图片
    private Image filedImage;

    //是否开始技能冷却
    private bool isStartTimer = false;
    // Use this for initialization
    void Start () {
        filedImage = transform.Find ("FilledImage").GetComponent ();
    }
    
    // Update is called once per frame
    void Update () {
        //已经开始冷却
        if (isStartTimer) {
            timer += Time.deltaTime;

            //计算fillAmount
            filedImage.fillAmount = (coldTime - timer) / coldTime;
            if (timer >= coldTime) {

                //停止定时器
                filedImage.fillAmount = 0;
                timer = 0;
                isStartTimer = false;
            }
        }
    }

    public void OnClick()
    {
        isStartTimer = true;
    }
}

转载于:https://www.cnblogs.com/yufenghou/p/6258073.html

你可能感兴趣的:(unity 利用ugui 制作技能冷却效果)