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 ...
随机推荐
- xml写代码
#include <QDomDocument> #include <QtGui> int main(int argc, char *argv[]) { QApplication ...
- spring aop 如何切面到mvc 的controller--转载
原文:http://yjian84.iteye.com/blog/1920787 网上搜罗半天,不知道什么原因,看了源码,好像他们说的controller 是不受代理的,也对哈,不知道怎么办,于是在h ...
- Javascript 函数和模块定义
匿名函数 // calculator.js(function(root) { var calculator = { sum: function(a, b) { return a + b; } ...
- iOS获取健康步数从加速计到healthkit
计步模块接触了一年多,最近又改需求了,所以又换了全新的统计步数的方法,整理一下吧. 在iPhone5s以前机型因为没有陀螺仪的存在,所以需要用加速度传感器来采集加速度值信息,然后根据震动幅度让其加入踩 ...
- 枚举,Enum,常规使用demo记录
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mv ...
- Html网页生成Pdf
在http://code.google.com/p/wkhtmltopdf/downloads/list下载安装程序. 1.添加引用 using System.Diagnostics; 添加引用 2. ...
- .NET Core跨平台开发
对于.NET开源计划想必关注的人已经跃跃欲试了,但是真正将其用于开发的目前来说不多.毕竟截至本文发布时.NET Core才发布到1.0RC2版本.正式版预计还有一段时间.况且大多数人都是持观望态度,就 ...
- Linux下使用NMON监控、分析系统性能 -转载
原帖地址:http://blog.itpub.net/23135684/viewspace-626439/ 谢谢原帖大人 一.下载nmon. 根据CPU的类型选择下载相应的版本:http://nmon ...
- VisualStudio2015内置LocalDB
简直坑爹,我将之前的VS2013的工程迁移到新电脑的VS2015,然后用的本地数据库居然连接报错了,然后我试连了一下本地数据库, 就是Tools-->Connect to Databases-- ...
- POJ3285 River Hopscotch(最大化最小值之二分查找)
POJ3285 River Hopscotch 此题是大白P142页(即POJ2456)的一个变形题,典型的最大化最小值问题. C(x)表示要求的最小距离为X时,此时需要删除的石子.二分枚举X,直到找 ...