昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形根据数学算法来绘制一个圆形的网格、通过动态绘制圆形网格的方法来实现技能CD特效。奶奶的昨天我研究了一晚上,终于做出来了。可是今天突然发现NGUI已经实现这个功能了,,真是坑爹啊啊~~~55555555555,在技能图标上面放个半透明的精灵,用来做技能冷却的特效,如下图所示,我就用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 23 24 |
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游戏开发,哇咔咔!!!
- 本文固定链接: https://www.xuanyusong.com/archives/2399
- 转载请注明: 雨松MOMO 于 雨松MOMO程序研究院 发表
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!
问一下,momo老师,我做出的为什么是一帧一帧的走?我放在Update里面的
momo老师,请问,想点击这个按钮实现冷却效果应该怎么做?OnClick回调只能走一帧,没法像update一样一直走啊?
你可以在update里做。。
fillAmount是float类型,直接和0作比较,笔误?
问一下,有没有试过使用animation控制这个值,实现转圈cd,我使用animation设置的不能实现。
animation做不了的
自己扩展了下Tween
这个评论框我能玩一天。。。。
呵呵。
楼主,奴家想要你那个用meshRender组件的项目来学习
楼主,奴家想要你那个用meshRender组件的项目来学习
哪个meshRender
这篇文章开头说的那个呀
这篇文章开头说的那个呀
我用这个数值做了一个圆圈倒计时的动画为什么没效果,在代码里修改可以,纳闷了,松哥研究下啊
怎么计时啊,在一定时间内转完CD
雨松你好,在看你的那本《Unity 3D游戏开发》,请教个问题:我有一个ImageButton, 下面的label用的中文,我把z轴和depth调节总是不能影响label的显示, 我想用东西遮挡它也不行(遮挡ImageButton的Foreground是可以的),望指教
雨松大神,我想请教您一个问题: unity3d 能否 实现手机游戏 小鳄鱼洗澡 划泥土的效果么, 这种划泥土,泥土不规则的消失 是如何实现的,
NGUI已经实现了,不过自己弄出来还是挺牛啊,哈哈
HelloTanM@gmail.com 谢谢,
有没有试过魔兽里的自动释放状态的技能图标特效?我不知道怎么做
松哥为啥我的UIsprite脚本不能设置spritetype呢 NGUI2.3.4
哈哈,被坑了!!!!
加油松哥,支持你
真心谢谢你给了像我一样这些新人学习的机会 ;我是一个刚接触Unity 3d 的学生,看了你的教学真的是受益匪浅!想请教你,我现在只知道如何操作角色走动,挥打 角色拿着武器打敌人掉血应该怎么样实现 应该和子弹碰撞敌人不一样吧?