menu 首页 标签 归档 视频 关于
Unity-技能冷却

一言加载中...

国际惯例:先放效果图:

show

那~就实现这个效果,当点击技能按钮后,技能进入冷却状态,技能逐渐冷却完成,相信经常玩游戏的都知道;

结构图:
struct

挺简单,解释在图片上;
更改FillImage上的ImageType属性为:Failed;

下面实现由代码控制每次点击按钮进入冷却状态,2秒后冷却完成;

public class Skill : MonoBehaviour {
    //冷却时间
    public float ColdTime = 2f;
    //计时器
    float timer = 0;
    //是否开始冷却
    bool startTimer = false;
    //冷却图片
    private Image fillImage;
    void Start () {
        //获得冷却图片
        fillImage = transform.Find("FillImage").GetComponent<Image>();
    &#125;

    void Update () &#123;
        if (startTimer)
        &#123;
            timer += Time.deltaTime;
            //设置冷却图片显示比率
            fillImage.fillAmount = (ColdTime - timer) / ColdTime;
            if(timer>=ColdTime)
            &#123;
                fillImage.fillAmount = 0;
                timer = 0;
                startTimer = false;
            &#125;
        &#125;
    &#125;

    public void OnReleaseSkillClickListener()
    &#123;
        //点击按钮开始冷却
        startTimer = true;
    &#125;
&#125;

Tony-Chen
2017.11.30

这个世界很美好,值得我们为之去奋斗。我只认同后半句。

写博客不易,请我喝杯咖啡?

评论

arrow_upward