当前位置:   article > 正文

NGUI实现技能冷却_ndui 技能冷却

ndui 技能冷却
在UIRoot下添加sprite(Skill)作为技能的图片 其上添加Skill脚本 (实现技能冷却的脚本 下文给出) 上面会有相关物体的引用 

创建子对象sprite(Filled) 为技能遮罩 将UISprite的Type改为Filled 出现的FillAmount 改变其value (0-1)就可以实现技能冷却 这里的图片作为技能遮罩 可以改变图片颜色的alpha 

创建子对象label(Time) 显示剩余时间 这里的 10s只是样式 当游戏运行时会赋值并显示出来

创建子对象label(KEy)技能发动所需按下的键

然后就是代码了
public class Skill : MonoBehaviour {

     public UILabel timeLabel;  //  时间label的引用
     public UISprite filledSprite;  //  遮罩sprite的引用
     public float skillColdTime;  //  技能冷却的时间

     private bool isColding = false;  //  是否冷却的标志位
     private float timer = 0f;  //  计时器

     void Start()  //  默认开始时让技能遮罩和时间都不显示
     {
          timeLabel.gameObject.SetActive (false);
          filledSprite.gameObject.SetActive (false);
     }

     void Update()  //  因为要实时监测,写在Update中
     {
          if (Input.GetKeyDown (KeyCode.A) && !isColding)  //  当按下A键并且当前技能不在冷却时可以释放技能
          {
               print ("释放技能");
               isColding = true;  //  修改标志位
               timeLabel.text = ((int)skillColdTime).ToString() + "s";  //  显示出剩余时间
               timeLabel.gameObject.SetActive (true);
               filledSprite.fillAmount = 1f;  //  让遮罩显示出来
               filledSprite.gameObject.SetActive (true);
               timer = skillColdTime;  //  让计时器的时间等于冷却时间
          }
          if (isColding)  //  如果技能在冷却状态
          {
               timer -= Time.deltaTime;  //  让计时器时间减少
               timeLabel.text = ((int)timer).ToString() + "s";  //  显示剩余的冷却时间
               filledSprite.fillAmount = timer / skillColdTime;  //  按比例的减小fillamount

               if(timer <= 0f)  //  当计时器减少到0时,则技能冷却结束 让技能遮罩和时间都不显示 也更改其标志位
               {
                    timeLabel.gameObject.SetActive (false);  
                    filledSprite.gameObject.SetActive (false);
                    isColding = false;
               }
          }
     }
}

然后就是运行 就可以实现技能冷却的效果了 
有不当之处还请unity大神指教
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/974585
推荐阅读
相关标签
  

闽ICP备14008679号