使用NGUI实现技能冷却的原理是这样的:在表示技能的Sprite上加一个半透明的Sprite,将类型设置为filled类型,Fill Dir设置为Radial360,通过程序调节Fill Amount就可以模拟技能从冷却到被活的一段时间内渐变的效果。如下图所示:

  代码中一个标志位isCooling表示是否正在冷却,只有当按下释放技能的按键并且该标志位为false时才可以释放技能,释放完成后isCooling立即变为true,然后冷却的部分在每帧都会减少,直至完全消失。代码如下:

  

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 public class ReleaseSkill : MonoBehaviour {
 5     UISprite skillSprite;   //负责技能冷却
 6     public float releaseSpeed = 0.5f;
 7     public float needMP = 30f;
 8     public float totalMP = 100f;
 9     public GameObject cardPrefab;
10     public GameObject parent;
11
12     bool isCooling;                  //是否正在冷却
13     // Use this for initialization
14     void Start () {
15         skillSprite = transform.GetChild(0).GetComponent<UISprite> ();
16
17         skillSprite.fillAmount = 0;
18         isCooling = true;
19
20     }
21
22     // Update is called once per frame
23     void Update () {
24         if (Input.GetKeyDown (KeyCode.M)) {
25             if (!isCooling && totalMP > needMP) {
26                 //释放技能
27                 totalMP -= 20;
28
29                 //技能完全冷却
30                 skillSprite.fillAmount = 1;
31                 isCooling = true;
32             }
33         }
34
35         if (isCooling) {
36             //经过一段时间冷却技能
37             skillSprite.fillAmount -= releaseSpeed * Time.deltaTime;
38             if(skillSprite.fillAmount <= 0)
39             {
40                 skillSprite.fillAmount = 0;
41                 isCooling = false;
42             }
43         }
44     }
45 }

ReleaseSkill

转载于:https://www.cnblogs.com/kylinxue/p/4559112.html

NGUI的技能冷却实现相关推荐

  1. NGUI实现技能冷却

    在UIRoot下添加sprite(Skill)作为技能的图片 其上添加Skill脚本 (实现技能冷却的脚本 下文给出) 上面会有相关物体的引用  创建子对象sprite(Filled) 为技能遮罩 将 ...

  2. NGUI系列教程六(技能冷却的CD效果)

    今天来学习一下,如何利用NGUI做技能冷却的CD效果. 1,首先按之前的教程Create Your UI,Camera为Simple 2D 最终如下图: 2,添加一个按钮,Background 为一张 ...

  3. 012 分析技能冷却二叉树

    文章目录 前言 技能冷却二叉树 获取技能名称 总结 前言 学习完了最常用的数据结构,我们再来分析游戏中其他的功能,尽量将游戏中的所有数据分析完全,为后面的实际应用积累经验. 对于RPG游戏来说,技能数 ...

  4. 【游戏逆向】某某明月刀_技能冷却分析

    重发协议虽然有可能实现一些游戏漏洞,但是往往也会对外挂造成不可挽回的影响.再服务器有重发协议验证的情况下,频繁发送不可能连续出现的协议,可能使游戏封号或者掉线.对于<天涯明月刀>这样一款注 ...

  5. 【游戏逆向】游戏玩家技能冷却分析

    技能冷却对于不同的游戏有不同的存放方式,而技能冷却的遍历也大多不会和技能的普通属性放在一起,在<在**明月刀>这款游戏中,技能的冷却判断格外重要,因为技能的连贯性对打怪的效率影响很大. 我 ...

  6. 技能冷却: 判断技能 释放技能

    技能冷却:     判断技能   释放技能 using System.Collections; using System.Collections.Generic; using UnityEngine; ...

  7. Unity实现简单技能冷却管理器

    前言 这段时间做技能系统,需要实现技能冷却.如果每个技能都写一段计时器代码的话重复性太高而且还不方便管理,于是根据使用到的功能写了个简单的冷却管理器统一处理. 实现 代码很简单,理解思路即可. usi ...

  8. Cocos2d-x技能冷却还要等多久?---之游戏开发《赵云要格斗》(9)

    这里是Evankaka的博客,欢迎大家前来讨论与交流------      转载请注明出处http://blog.csdn.net/evankaka/article/details/42747719 ...

  9. 晓月_技能栏(二)显示技能和技能冷却

    UI编辑部分: ​上次分析了技能栏的显示层次,今天动手实现以下.本次还是4.6的版本,大家看下思路就好了. ​1:首先找张技能图片,因为我的是一个拿剑的角色.我找了张剑的icon,然后指定给UITex ...

最新文章

  1. mysql 命令源码_MySQL常用命令
  2. 单一窗口关区备案_单一窗口税费支付权限管理
  3. bpnn matlab工具箱,bpnn——matlab工具箱-归一化函数 premnmx、tramnmx、postmnmx、mapminmax...
  4. WPF 窗口居中 变更触发机制
  5. C语言实现QR(正交三角)分解(附完整源码)
  6. java character是什么意思_Java Character 类
  7. 包含图片,复选框的ListView(转)
  8. AEAI DP开发统计分析
  9. jquery 获取同级元素_如何在jQuery中获取元素的同级
  10. POJ 1755 Triathlon(半平面交)
  11. 【翻译】Siesta事件记录器入门
  12. Atitit USRqc62204 证书管理器标准化规范
  13. 美制电线标准AWG与公制、英制单位对照 AWG线规对照表
  14. 3dmax:3dmax的三维动画之3Dmax导入BIP动作的简介之详细攻略
  15. 蓝桥杯-标题:史丰收速算
  16. EE308_Lab1
  17. 最好的IDEA debug长文?看完我佛了
  18. idea,eclipse和jdk环境配置
  19. 香港大学和清华大学计算机,香港大学在我国属于什么水平,有哪些优势、能够和清华北大相比吗...
  20. 编码解析之java将base64解析图片保存到本地。

热门文章

  1. 一千个不用 Null 的理由
  2. 常用的设计模式汇总,超详细!
  3. 欧卡智舶发布全球首个城市内河无人驾驶数据集!
  4. 生命的意义是什么?B站一位up主把这个「终极问题」甩给了AI
  5. 干货|使用合成数据集来做目标检测
  6. 哪些电脑最适合做机器学习、数据科学和深度学习呢?这里有份调研报告
  7. 厉害了!写代码、搜问题,全部都在「终端」完成!如此编程神器,是时候入手了...
  8. 一行代码发一篇 ICML?
  9. Deep Non-Line-of-Sight Reconstruction:深度非视域重建
  10. 【每日一算法】 合并两个有序链表