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



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

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

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

Sprite Type:设置成Filled

Fill Dir:设置Radial 360 。

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

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

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


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

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

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

上一篇:管道通信(使用popen和pclose功能简单的控制管道)


下一篇:jQuery修炼心得-DOM节点的插入