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 ...
随机推荐
- FastDFS问题汇总
问题1: 增加分组后,新的storge不可用. 增加一个分组group2,发现上传文件失败.在group2中的storage中使用netstat -anp|grep fdfs,发现端口状态为CLOSE ...
- 调试exynos4412—ARM嵌入式Linux—LEDS/GPIO驱动之一
/** ****************************************************************************** * @author 暴走的小 ...
- 安装zookeeper时候,可以查看进程启动,但是状态显示报错:Error contacting service. It is probably not running
安装zookeeper-3.3.2的时候,启动正常没报错,但zkServer.sh status查看状态的时候却出现错误,如下: JMX enabled by defaultUsing config: ...
- HttpClient使用cookie
import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; ...
- 使用PHP实现蜘蛛访问日志统计
$useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT'])); if (strpos($useragent, 'googlebot' ...
- HTML5 文件域+FileReader 分段读取文件(四)
一.分段读取txt文本 HTML: <div class="container"> <div class="panel panel-default&qu ...
- PAT_2-08. 用扑克牌计算24点
一副扑克牌的每张牌表示一个数(J.Q.K分别表示11.12.13,两个司令都表示6).任取4张牌,即得到4个1~13的数,请添加运算符 (规定为加+ 减- 乘* 除/ 四种)使之成为一个运算式.每个数 ...
- vpn的作用
1.可以用于远程对方桌面. 步骤: 1.浏览器中访问网址,输入用户名,密码即可 2.输入远程桌面用户名和网址
- 【转】 ios开发之倒计时实现的两种方法
原文:http://blog.csdn.net/kylinbl/article/details/8972261 方法1:使用NSTimer来实现 主要使用的是NSTimer的scheduledTime ...
- DataSet与DataTable基本用法
http://files.cnblogs.com/files/monkeyZhong/DataSetExample.rar 在设计数据库操作或者XML操作等表格数据时,我们难免要跟DataSet和Da ...