NGUI对游戏里各种常见UI效果的实现总结

转载:http://blog.csdn.net/yukoxiaowangzi/article/details/32716007


根据NGUI的范例,现在项目里的效果实现以及网上搜索总结如下:

1.主角生命值降到很低时,屏幕的血红色闪烁效果。

      给屏幕上红色的sprite附上tween color组件,调整duration时间以及from和to中的颜色值和透明度,更改playStyle为loop或者pingpong即可。触发事件用脚本控制,这里有两种思路:一是把整个gameobject的enable设置为true或者false,tweencolor组件为默认播放状态,

     这样控制gameobject的enable为true或false即可实现是否出现闪烁。二是加上playTween脚本,然后在面板上设置触发条件,两种方法看实际情况决定用哪个。

 

2. NGUI层上显示帧动画

     两种方案:一是把要做成动画的所有sprite单独分割然后打包成Atlas,在脚本中根据时间制定sprite的atlas以及spritename 即可实现帧动画。如代码

 

     第二种方法是用unity新增的2D动画机制来做,这种在处理图的时候会简单一些。无论是所有帧动画素材都放在一张大图里,还是单独切割出来的一张张小图都可以。将图片导入到unity中,选择图片的TextureType为sprite,如果是很多小序列帧合并在一起的大图,再选择SpriteMode

    为Multiple,点击SpriteEditor进入编辑界面具体调整即可,这样在大图的底下会出现很多小图子对象,将要做成序列帧的所有小图一并拖到scene层中,系统会弹出对话框保存动画片段名称,接下来就是制作动画的流程,就不细说了。在动画制作好以后,要让动画

    与NGUI控件的显示顺序发生变化,得用脚本显示的控制其渲染顺序,现成的脚本是renderQueueModifier,选择好目标,调节位置选项即可,特别注意的是,动画对象的Layer一定得选择为NGUI相机所处在的层上,不然是无法显示的。

 

3.NGUI上显示粒子效果,并调整大小

      如何在NGUI上显示粒子效果参见第2显示动画,大小的调节通过ParticleScaler这个脚本实现,在面板中调节其参数即可

 

4.进度条滚动效果

     具体实现参见SliderAnimation,也可以用2中的帧动画思路来做。也就是说用NGUI做动画的两种方法(不是2提到的):一是用数组来存储所有的序列帧图片,再每帧控制其显隐即可。二是只保存一张图,在脚本里改变其atlas以及spriteName即可。在空间利用上来说,显然是二比较好。

 

5.头顶浮动的伤害数字类似效果

   

  

6.背包类效果,即可拖动,交换物品

 

 

7.tooltip效果

 

 

8.震屏效果

 

 

9.小地图制作

 

 

10.任务面板效果,就是点击到具体任务出现详细描述面板,点击别的切换到相应描述,再次点击收缩回来。部分实现效果参见NGUI Examples中的QuestLog这个示例.

     

 

 

12. 选人界面效果,如点击下一个时人物框会轮流的滑动展示。

 

 

13.类似QQ的聊天对话框,底下输完提交到上面的窗口中

 

 

 

14.NGUI常用脚本用途

   一。UIDragObject : 使控件面板等能被拖动

  二。UIGrid,UITable: 对子物体位置进行排列  传送门:http://www.tuicool.com/articles/zquymyE


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值