Unity NGUI实现技能CD效果
unity版本:4.5.1 NGUI版本:3.6.5 脚本代码:C#
在游戏中经常要实现技能的CD效果,NGUI中已经实现了这个功能,即在button上创建一个半透明的Sprite实现这个功能。
首先要创建一个按钮,点击可以触发技能特效,参考博文:http://www.cnblogs.com/vitah/p/3858924.html,接下来在这个基础上实现技能CD的效果:
1、在button下新建一个Sprite,具体操作为NGUI——Create——Sprite:

2、修改Sprite的各项属性:

其中的Atlas和Sprite即选择的效果,可以找一个比较合适的,红色方框中的设置比较重要,Type一定要设置成Filled才有那个效果;
Fill Amount:初始时所占的百分比;
Invert Fill:顺时针旋转或者逆时针旋转;
Size:可以调整下面Widget中的Size使精灵的大小适应按钮的大小;
3、接下来就是在脚本中实现阴影部分面积随着技能CD剩余时间减少的效果,脚本代码:
using UnityEngine;
using System.Collections; public class test2 : MonoBehaviour { // 技能是否处于CD状态
public bool isCD; // button下的sprite中的UISorite
UISprite sprite; // 技能CD时间
public float timeCD = 5f; // skill effect.
public GameObject skillEffect;
// Use this for initialization
void Start () {
// 初始化,找到对应的sprite
sprite = GameObject.Find ("UI Root/Camera/Anchor/Panel/button/Sprite").GetComponent<UISprite> ();
isCD = false;
} void Update ()
{
// 技能处于CD状态,每次更新阴影部分面积
if (isCD == true)
{
sprite.fillAmount -= Time.deltaTime/timeCD; if (sprite.fillAmount == )
{
isCD = false;
}
}
} //点击时候如果在冷却中,提示技能CD,否则触发特效,开启CD效果
void OnClick ()
{
if (isCD == false)
{
isCD = true;
sprite.fillAmount = 1f;
Debug.Log ("技能释放");
Instantiate (skillEffect);
}else
Debug.Log ("技能CD");
}
}
代码量不多,比较简单,不再赘述;
4、接下来就可以看运行效果:

感觉用NGUI还是比较容易实现的,不用NGUI的实现方法就不会了~~
参考链接:http://www.xuanyusong.com/archives/2399
Unity NGUI实现技能CD效果的更多相关文章
- NGUI实现技能CD效果
在NGUI中使用Sprite的遮罩效果可以很轻松的实现技能CD效果. 具体实现步骤: ①新建一个技能图标的Sprite 如图中的Skill001,再在该技能Sprite上添加一个Sprite做遮罩, ...
- 技能CD 效果 shader
技能CD特效 这个效果主要是利用反正切函数完成.atan2(x,y)的返回值是[-PI,PI],这个支持4个象限的反正切函数.关于圆角计算,在上篇文章中有介绍. 现在,我们来看看反正切函数的效果: 在 ...
- NGUI技能CD效果制作(sprite的type:filled)
一,我们先添加一个sprite,改名为skill.给当前skill添加图片,然后再sprite下添加一个sprite和一个label,结果如下 二现在我们来设置skill下的sprite,给他设置一个 ...
- Unity NGUI弧形血条的制作
unity版本:4.6 NGUI版本:3.6. (转载请注明参考链接及作者) 参考链接:http://www.cnblogs.com/louissong/p/3841656.html,作者:博客园 L ...
- NGUI系列教程六(技能冷却的CD效果)
今天来学习一下,如何利用NGUI做技能冷却的CD效果. 1,首先按之前的教程Create Your UI,Camera为Simple 2D 最终如下图: 2,添加一个按钮,Background 为一张 ...
- Unity 利用NGUI2.6.3做技能冷却的CD效果
NGUI非常强大我们今天来学习一下,如何利用NGUI做技能冷却的CD效果.先导入NGUI的插件.没有的话这里有啊NGUI2.6.3下载地址: http://vdisk.weibo.com/s/KLqn ...
- Unity3D 利用NGUI2.6.3做技能冷却的CD效果
转自http://blog.csdn.net/qqmcy/article/details/9469021 NGUI非常强大我们今天来学习一下,如何利用NGUI做技能冷却的CD效果.先导入NGUI的插件 ...
- NGUI研究之制作转圈的技能CD特效
昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形依据数学算法来绘制一个圆形的网格.通过动态绘制圆形网格的方法来实现技能CD特效.奶奶的昨天我研究了一晚上,最 ...
- Unity的NGUI插件篇——入场效果
Unity的NGUI插件篇--入场效果 入场效果 入场效果须要借助于NGUI提供的TweenPosition类来完毕.为了说明此类的用法.本节将使会解说两个演示样例.本文选自 大学霸 <NGU ...
随机推荐
- Linux命令行编辑快捷键
Linux命令行编辑快捷键: history 显示命令历史列表 ↑(Ctrl+p) 显示上一条命令 ↓(Ctrl+n) 显示下一条命令 !num 执行命令历史列表的第num条命令 !! 执行上一条命令 ...
- My-sql #1045 - Access denied for user 'root'@'localhost' (using password: NO)
当你重装数据库后出现这个问题的时候,不要着急,首先你要去你的确定你的数据库已经成功的把服务开启了, 然后确定你的密码和账户,IP都确认的情况下, 去寻找config.inc.php 这个文件,根据配置 ...
- TFS 服务器更换后工作区无法绑定
需要删除工作区,删除命令如下 tf workspace /delete 工作区名;创建的用户 /server:TFS服务器 例 tf workspace /delete WHQ-PC;whq /ser ...
- 实现Android K的伪沉浸式
在Android 5.0之后引入了MD风格,从而状态栏沉浸也成为了一种设计习惯.而停留在之Android L之前的Android系统则不能直接实现沉浸式,这里就介绍一下如何实现Android K系列的 ...
- Android开发----权限大全
一.添加权限格式: 示例: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STOR ...
- 不带头结点的单链表递归删除元素为X的结点
#include <iostream> using namespace std; struct Node { Node *next; int elem; }; void creatList ...
- POJ 2942.Knights of the Round Table (双连通)
简要题解: 意在判断哪些点在一个图的 奇环的双连通分量内. tarjan求出所有的点双连通分量,再用二分图染色判断每个双连通分量是否形成了奇环,记录哪些点出现在内奇环内 输出没有在奇环内的点的数目 ...
- linux负载均衡
1.linux lvs nat实现负载均衡 添加两块网卡并开启路由管道 > /proc/sys/net/ipv4/ip_forward //开始路由管道 安装ipvsadm yum instal ...
- C#快速导入海量XML数据至SQL Server数据库
#region 将Xml中的数据读到Dataset中,然后用SqlBulkCopy类把数据copy到目的表中using (XmlTextReader xmlReader = new XmlTextRe ...
- 命令行,备份、导入数据库Oracle
备份库:exp username/password@Database file="h:\datas.dmp" owner=username 导入语句 :imp username2/ ...