Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2208.00元
【UGUI - Unity5.1强大的UI 305-设计技能和技能的冷却效果】
LiHauio发起了问答2018-03-12
7
回复
680
浏览
void Update()
    {
        if (isStartTimer)
        {
            timer += Time.deltaTime;//计时器 每帧都加上加上一帧的固定时间
            skillFill.fillAmount = (coldTime - timer) / coldTime;
            if (timer >= coldTime)
            {
                skillFill.fillAmount = 0;
                timer = 0;
                isStartTimer = false;
            }
        }
    }

	public void OnClick()
    {
        isStartTimer = true;
    }

代码段是老师提供的代码

请教一下怎么在原有的代码上实现第二次点击技能时提示 (技能冷却中),当然是在技能冷却中提示。

所有回复
  • siki 2018-03-12

    判断isStartTime是否为true,如果是的haunted,就显示技能冷却中

    上述代码可以在OnClick中处理

    • LiHauio 2018-03-16

      这不行啊,因为第一次点击的时候,isStartTime就是true,还没点击第二次就已经触发了。

      (0) 回复
    • LiHauio 2018-03-16

      我需要的效果是:技能冷却时判断用户是否再次点击,是的话再去显示冷却中

      (0) 回复
    • siki 2018-03-17

      回复 @ LiHauio: 把isStartTime默认设置为false,当第一次点击时候再设置为true,这样就可以通过isStartTime是否为true来判断用户是第一次还是第二次点击了

      (0) 回复
    • LiHauio 2018-03-19

      回复 @ siki: 那请问老师,Text组件怎么设置为未激活状态(不是.enabled=false ),是整个组件设为未激活SetActive()只有物体才有

      (0) 回复
    • siki 2018-03-20

      回复 @ LiHauio: 获取到text组件所在游戏物体,把游戏物体给禁用了,身上的组件也就为未激活状态了

      (0) 回复
    还有0条回复,点击查看
    你还没有登录,请先登录注册
  • Milk 2018-03-17

    代码再加一个标志位bool isAgainClick=flase可;在OnClick中:添加if(isAgainClick){//TODO: 显示UI("技能冷却中")}

    //原有的代码..

    在下面加一个isAgainClick=true;

    意思是第一次用户点击技能时,isAgainClick还是false,注意if是放在最上面判断的,所以不会提示UI信息,在第一次点击后isAgainClick变为true,然后在Update的if(isStartTimer(){}里面,当冷却时间结束即if(timer>=coldTime){}里面恢复这个标志位为false。那么下一次用户点击未激活的技能时候,就不会显示出冷却提示的UI

     

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!