欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Unity制作技能冷却的UI效果

程序员文章站 2022-04-03 08:54:58
...

Unity制作技能冷却的UI效果
 

新建两个Image,一个是技能图片的正常Image
一个技能图片的遮罩Image(透明度降低),将遮罩的Image属性设置为Filled
Unity制作技能冷却的UI效果
通过代码控制FIll Amount的参数来实现技能图片的冷却效果

using UnityEngine;
using UnityEngine.UI;

public class Test : MonoBehaviour
{
    public Image mask_img;//遮罩的图片
    private bool canUseSkill; //是否可以使用技能
    public float skillCooldownTime; //技能冷却时间
    private float skillCooldownTimer = 2; //技能冷却时间计时器

    private void Update()
    {
        //快捷键发动技能
        if (Input.GetKeyDown(KeyCode.Alpha1) && canUseSkill)
        {
            canUseSkill = false;
            
            UseSkill();
        }

        if (canUseSkill == false)
        {
            skillCooldownTimer += Time.deltaTime;
            img.fillAmount = (skillCooldownTime - skillCooldownTimer) / skillCooldownTime;
            if (skillCooldownTimer >= skillCooldownTime)
            {
                canUseSkill = true;
                skillCooldownTimer = 0;
            }
        }
    }

    //点击发动技能
    public void OnClickSKill()
    {
        canUseSkill = false;
    }

    private void UseSkill()
    {
        
    }
}