第一次发布文章,文笔不好,还请见谅。
最近在学习NGUI,虽然已经没多少人用这个框架了,不过个人觉得,既然火了这么久,肯定有他强大之处,所以还是需要学习一下,丰富下自己的见识。
闲话不多说,来正经的,今天要做的这个东西个人觉得还是挺有用的,技能冷却,在许多游戏中都有这个东西的存在,毕竟如果技能没有冷却的话,那太恐怖了,降低了游戏的难度,也让一个游戏没有那么吸引人。
看着这个名字--NGUI制作技能冷却效果,看着高大上,其实并没有什么特别牛逼的地方,只是一些基本的操作和代码逻辑。下面,进入正题。
1.素材准备
NGUI插件 技能图标 还有蒙版图标2.原理分析
其实吧,这个东西的原理就是一个,技能前面有一层模板,当技能在冷却期间就给他蒙上,然后慢慢的冷却回来,当蒙版完全消失的时候,技能也就完全冷却了。
3.技能图标和蒙版制作
别的什么都别想,先做好几张图片的显示,这里,楼主是用的是Sprite,制作图集,然后把技能图片放在图集里面,直接引用就好了。
一个Sprite(skillQ)图标,一个label显示技能按键,一个Sprite(CD)显示蒙版这里要注意的是各个组件的父子关系,别弄混,因为我们后面还要用代码控制我们的技能冷却效果。
这里选择图集和图集中对应的图片注意,图标大小什么的我就不说了,每个人都可以自己div,但是,这里要注意的是,我们的组件是有层深度关系的,Label,我们的QWER肯定是显示在最上面一层的,不然冷却的时候都看不见我们的技能键,玩家表示很伤。而我们的蒙版应该是在技能图标上面,不然怎么蒙住嘛,是吧,所以他们的深度关系是Depth:Skill(技能图标) < CD(蒙版) < Label(技能键label)
上面步骤完成后,是这个样子的。
4.神奇的属性
UI Sprite中的属性列表:
改变Type为Filled,FillDir为Radial360,也就是填充模式,并且为360度填充 结果就是这样,蒙版有一部分不显示了,也就完美得显示了下面的技能图标。5.最终代码制作
脚本是挂载每一个技能图标对象上的,所以sprite是获取的子对象的。
把keycode设置成public,让我们能方便地在unity中修改,冷却用协程来协助,主要是设置蒙版的fillamount值来改变当前技能的冷却效果。
当fillamount为1时,蒙版全部显示。
fillamount为0时,蒙版全部隐藏。
这里设置对应的按键和冷却时间最后,文章就到这了,文笔有限,望大家见谅。
欢迎各路英雄互相讨论学习。
网友评论