昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形根据数学算法来绘制一个圆形的网格、通过动态绘制圆形网格的方法来实现技能CD特效。奶奶的昨天我研究了一晚上,终于做出来了。可是今天突然发现NGUI已经实现这个功能了,,真是坑爹啊啊~~~55555555555,在技能图标上面放个半透明的精灵,用来做技能冷却的特效,如下图所示,我就用NGUI中的图标来带代替。
然后修改一下特效的精灵类型,它是在技能图标上面悬浮半透明可旋转的精灵。如下图所示,
Sprite Type:设置成Filled
Fill Dir:设置Radial 360 。
Invert Fill:顺时针旋转或者逆时针旋转。
到这里就简单了,只要在程序中动态的修改Fill Amount的数值就可以了。写了一段简单的代码,让它一直旋转,比较简单我就不注释了。
01 | using UnityEngine; |
02 | using System.Collections; |
03 | |
04 | public class NewBehaviourScript : MonoBehaviour { |
05 | |
06 | UISprite sprite; |
07 | void Awake () |
08 | { |
09 | sprite = GetComponent<UISprite>(); |
10 | } |
11 | |
12 | void Update () |
13 | { |
14 | |
15 | sprite.fillAmount -=0.01f ; |
16 | |
17 | if (sprite.fillAmount == 0) |
18 | { |
19 | sprite.fillAmount =1f; |
20 | } |
21 | } |
22 | } |
最后祝大家学习愉快,欢迎一起讨论Unity游戏开发,哇咔咔!!!