昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形依据数学算法来绘制一个圆形的网格、通过动态绘制圆形网格的方法来实现技能CD特效。奶奶的昨天我研究了一晚上,最终做出来了。但是今天突然发现NGUI已经实现这个功能了,,真是坑爹啊啊~~~,在技能图标上面放个半透明的精灵,用来做技能冷却的特效,例如以下图所看到的,我就用NGUI中的图标来带取代。对事件方法不明确的看NGUI研究之三种方式监听NGUI的事件方法
然后改动一下特效的精灵类型,它是在技能图标上面悬浮半透明可旋转的精灵。例如以下图所看到的,
Sprite Type:设置成Filled
Fill Dir:设置Radial 360 。
Invert Fill:顺时针旋转或者逆时针旋转。
到这里就简单了,仅仅要在程序中动态的改动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;
}
}
}
|
最后祝大家学习愉快,欢迎一起讨论Unity游戏开发,哇咔咔!!!