首页 > 代码库 > NGUI研究之制作转圈的技能CD特效

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


昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形依据数学算法来绘制一个圆形的网格、通过动态绘制圆形网格的方法来实现技能CD特效。奶奶的昨天我研究了一晚上,最终做出来了。但是今天突然发现NGUI已经实现这个功能了,,真是坑爹啊啊~~~,在技能图标上面放个半透明的精灵,用来做技能冷却的特效,例如以下图所看到的,我就用NGUI中的图标来带取代。对事件方法不明确的看NGUI研究之三种方式监听NGUI的事件方法

NGUI研究之制作转圈的技能CD特效(八) - 第1张  | 成功智慧网-专注游戏编程开发!

然后改动一下特效的精灵类型,它是在技能图标上面悬浮半透明可旋转的精灵。例如以下图所看到的,

Sprite Type:设置成Filled

Fill Dir:设置Radial 360 。

Invert Fill:顺时针旋转或者逆时针旋转。

NGUI研究之制作转圈的技能CD特效(八) - 第2张  | 成功智慧网-专注游戏编程开发!

到这里就简单了,仅仅要在程序中动态的改动Fill Amount的数值就能够了。写了一段简单的代码,让它一直旋转,比較简单我就不凝视了。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
usingUnityEngine;
using System.Collections;
 
public classNewBehaviourScript : MonoBehaviour{
 
    UISprite sprite;
    voidAwake ()
    {
        sprite= GetComponent<UISprite>();
    }
 
    voidUpdate ()
    {
 
        sprite.fillAmount-=0.01f;
 
        if(sprite.fillAmount  ==0)
        {
            sprite.fillAmount  =1f;
        }
    }
}

NGUI研究之制作转圈的技能CD特效(八) - 第3张  | 成功智慧网-专注游戏编程开发!

最后祝大家学习愉快,欢迎一起讨论Unity游戏开发,哇咔咔!!!