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效果的更多相关文章

  1. NGUI实现技能CD效果

    在NGUI中使用Sprite的遮罩效果可以很轻松的实现技能CD效果. 具体实现步骤: ①新建一个技能图标的Sprite 如图中的Skill001,再在该技能Sprite上添加一个Sprite做遮罩, ...

  2. 技能CD 效果 shader

    技能CD特效 这个效果主要是利用反正切函数完成.atan2(x,y)的返回值是[-PI,PI],这个支持4个象限的反正切函数.关于圆角计算,在上篇文章中有介绍. 现在,我们来看看反正切函数的效果: 在 ...

  3. NGUI技能CD效果制作(sprite的type:filled)

    一,我们先添加一个sprite,改名为skill.给当前skill添加图片,然后再sprite下添加一个sprite和一个label,结果如下 二现在我们来设置skill下的sprite,给他设置一个 ...

  4. Unity NGUI弧形血条的制作

    unity版本:4.6 NGUI版本:3.6. (转载请注明参考链接及作者) 参考链接:http://www.cnblogs.com/louissong/p/3841656.html,作者:博客园 L ...

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

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

  6. Unity 利用NGUI2.6.3做技能冷却的CD效果

    NGUI非常强大我们今天来学习一下,如何利用NGUI做技能冷却的CD效果.先导入NGUI的插件.没有的话这里有啊NGUI2.6.3下载地址: http://vdisk.weibo.com/s/KLqn ...

  7. Unity3D 利用NGUI2.6.3做技能冷却的CD效果

    转自http://blog.csdn.net/qqmcy/article/details/9469021 NGUI非常强大我们今天来学习一下,如何利用NGUI做技能冷却的CD效果.先导入NGUI的插件 ...

  8. NGUI研究之制作转圈的技能CD特效

     昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形依据数学算法来绘制一个圆形的网格.通过动态绘制圆形网格的方法来实现技能CD特效.奶奶的昨天我研究了一晚上,最 ...

  9. Unity的NGUI插件篇——入场效果

    Unity的NGUI插件篇--入场效果 入场效果 入场效果须要借助于NGUI提供的TweenPosition类来完毕.为了说明此类的用法.本节将使会解说两个演示样例.本文选自  大学霸 <NGU ...

随机推荐

  1. HTML表单介绍

    表单语法结构如下: <form action="url" method="get|post" name="value" enctype ...

  2. java格式处理工具类

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...

  3. iOS进度指示器——NSProgress

    iOS进度指示器——NSProgress 一.引言 在iOS7之前,系统一直没有提供一个完整的框架来描述任务进度相关的功能.这使得在开发中进行耗时任务进度的监听将什么麻烦,在iOS7之后,系统提供了N ...

  4. 'Service' object has no attribute 'process'

    在使用selenium+phantomjs时,运行总是出现错误信息: 'Service' object has no attribute 'process' 出现该错误的原因是未能找到可执行程序&qu ...

  5. asp.net mvc4 使用java异步提交form表单时出现[object object] has no method ajaxSubmit

    最近接手了一个单子,说大不大,只是功能不少,开发过程中遇到该问题 先看脚本截图: 本以为是笔误,哪儿写错了,可是看来看去,都没发现有不合适的地方,对比过网上很多代码,都差不多,于是各种方式的,各种原因 ...

  6. jquery选择器的使用方式

    1.基本选择器   选择器 描述 返回 示例 代码说明 1 id选择器 根据指定的id匹配元素 单个元素 $("#one").css("background", ...

  7. App上线基本流程

    还可参考的:http://www.cocoachina.com/bbs/read.php?tid=330302 iOS项目上传前期准备材料: 1.已有开发者账号 2.已有发布证书 3.一张1024*1 ...

  8. 几种不同存储形式下的数据挖掘问题[ZZ]

    从原理上说,数据挖掘应该可以应用到任何信息存储方式的知识挖掘中,但是挖掘的挑战性和技术会因为源数据的存储类型的不同而不同.特别是,近年来的研究表明数据挖掘所涉及的数据存储类型越来越丰富,除了一些有通用 ...

  9. Sublime Text 皮肤插件安装

    安装皮肤, 举例sodahttps://github.com/buymeasoda/soda-themectrl+shift+p => Package Control: Install Pack ...

  10. python split()黑魔法

    split()用法: #!/usr/bin/python str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.spli ...