昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形依据数学算法来绘制一个圆形的网格、通过动态绘制圆形网格的方法来实现技能CD特效。奶奶的昨天我研究了一晚上,最终做出来了。但是今天突然发现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 & lt ; UISprite & gt ; ( ) ; } void Update ( ) { sprite . fillAmount -= 0.01f ; if ( sprite . fillAmount == 0 ) { sprite . fillAmount = 1f ; } } } |
最后祝大家学习愉快,欢迎一起讨论Unity游戏开发,哇咔咔!!!