首页 >Unity3D频道 >【NGUI研究院之Unity插件】 > NGUI研究院之制作转圈的技能CD特效(八)
2013
06-26

NGUI研究院之制作转圈的技能CD特效(八)

          昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形根据数学算法来绘制一个圆形的网格、通过动态绘制圆形网格的方法来实现技能CD特效。奶奶的昨天我研究了一晚上,终于做出来了。可是今天突然发现NGUI已经实现这个功能了,,真是坑爹啊啊~~~55555555555,在技能图标上面放个半透明的精灵,用来做技能冷却的特效,如下图所示,我就用NGUI中的图标来带代替。

 

屏幕快照 2013-06-26 上午11.52.49

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

Sprite Type:设置成Filled

Fill Dir:设置Radial 360 。

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

tmp28adcf18

到这里就简单了,只要在程序中动态的修改Fill Amount的数值就可以了。写了一段简单的代码,让它一直旋转,比较简单我就不注释了。

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;
		}
	}
}

 

屏幕快照 2013-06-26 下午12.03.25

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

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

NGUI研究院之制作转圈的技能CD特效(八)》有 27 条评论

  1. 盛儒庆说:

    问一下,momo老师,我做出的为什么是一帧一帧的走?我放在Update里面的

  2. 施力维说:

    momo老师,请问,想点击这个按钮实现冷却效果应该怎么做?OnClick回调只能走一帧,没法像update一样一直走啊?

  3. 琦龙说:

    fillAmount是float类型,直接和0作比较,笔误?

  4. 晕晕说:

    问一下,有没有试过使用animation控制这个值,实现转圈cd,我使用animation设置的不能实现。

  5. 这个评论框我能玩一天。。。。

  6. 雨松MOMO博客网友说:

    楼主,奴家想要你那个用meshRender组件的项目来学习

  7.  说:

    楼主,奴家想要你那个用meshRender组件的项目来学习

  8. 王雨辰说:

    我用这个数值做了一个圆圈倒计时的动画为什么没效果,在代码里修改可以,纳闷了,松哥研究下啊

  9. 史志远说:

    怎么计时啊,在一定时间内转完CD

  10. lhy说:

    雨松你好,在看你的那本《Unity 3D游戏开发》,请教个问题:我有一个ImageButton, 下面的label用的中文,我把z轴和depth调节总是不能影响label的显示, 我想用东西遮挡它也不行(遮挡ImageButton的Foreground是可以的),望指教

  11. 木木说:

    雨松大神,我想请教您一个问题: unity3d 能否 实现手机游戏 小鳄鱼洗澡 划泥土的效果么, 这种划泥土,泥土不规则的消失 是如何实现的,

  12. NGUI已经实现了,不过自己弄出来还是挺牛啊,哈哈

  13. 有没有试过魔兽里的自动释放状态的技能图标特效?我不知道怎么做

  14. 朱洪林说:

    松哥为啥我的UIsprite脚本不能设置spritetype呢 NGUI2.3.4

  15. 王海盟说:

    真心谢谢你给了像我一样这些新人学习的机会 ;我是一个刚接触Unity 3d 的学生,看了你的教学真的是受益匪浅!想请教你,我现在只知道如何操作角色走动,挥打 角色拿着武器打敌人掉血应该怎么样实现 应该和子弹碰撞敌人不一样吧?

留下一个回复

你的email不会被公开。 必填项已用 * 标注。