Unity3D-技能CD效果制作

实现如图效果,展示技能CD变化:

这里写图片描述

1.使用NGUI,新建Sprite,并在其中新建三个子对象。分别用作技能cd 遮罩,技能标示(效果图中的A键提示),和技能状态,根据需要创建,并调整好颜色大小等。

如图所示是我创建并自定义名称的,其中cover为技能cd遮罩。
这里写图片描述

2.点击cover这个Sprite查看其属性,将type修改为Filled:

这里写图片描述

3.通过下面的Fill Amount属性就可以调整阴影,展现出技能cd的效果。代码控制的例子如下:

/// <summary>
/// 按键进入CD,改变遮罩状态
/// </summary>
public class CdChange : MonoBehaviour
{

    private bool isCold = false;
    private UILabel label;

    public float cdTime = 2f; //冷却时间
    private UISprite cover; //cd遮罩

    //类似Start,但有所区别
    private void Awake()
    {
        label = transform.Find("state").GetComponent<UILabel>();
        cover = transform.Find("cover").GetComponent<UISprite>();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.A) && isCold == false)
        {
            cover.fillAmount = 
                1;
            label.text = "技能冷却中";
            isCold = true;
        }

        //技能冷却中
        if (isCold)
        {
            //cd效果
            cover.fillAmount -= (1f / cdTime) * Time.deltaTime;

            if (cover.fillAmount <= 0.02f)
            {
                cover.fillAmount = 0;
                isCold = false;
                label.text = "技能冷却完毕";
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值