【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 5064|回复: 0

[NGUI插件] NGUI官网示例3--Menu讲解

[复制链接]
发表于 2013-11-22 14:58:58 | 显示全部楼层 |阅读模式
NGUI例子制作过程,由笔者参照NGUI的例子重新自己做了一遍,以加深对NGUI用法的理解。(建议先看下官网的基础教程,对NGUI有初步了解之后,再看这个帖子。)该贴需要前面我写的内容,请有兴趣的童鞋先熟悉前面的做法,再看本帖。哈哈
Example3-Menu
其最终效果是窗口中的Label文字出现打字效果,当按下Options按钮时,两个窗口会来回切换,如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg
1.         按照前面三个帖子的前几步,制作出基本的Advanced3D类型的UI,并把Panel重命名为Panel-Main,并为其添加一个空的游戏对象,命名为Window,最后reset下那个Window空对象,如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg
接下来,以前面的NGUI官网示例2-interaction-讲解的过程制作出该Window的界面(此处有点偷懒,不过步骤与上面的论坛一样,所以也省略了一些,而且再加上一个帖子的图片个数有限,所以尽量节约图片,这里给出地址 NGUI官网示例2- 三维立体窗体 interaction-讲解),如图所示:


同时,为Panel-Main中的文字Label添加一个TypewriterEffect组件,这样一步就能实现打字效果,可以点击运行试试看。是不是很帅!
9825bc315c6034a81a2ada46ca13495408237628.jpg
接着复制一个Panel-Main,并改名为Panel-Option,并把其中的元素进行调整,并使用Create a new Widget添加拖动条,checkbox,下拉菜单等。这里讲下下拉菜单的制作,该步骤与添加其他的Widget一样,只是在参数中,可以使用该组件中的Option参数设置下拉菜单的内容,其中左边的图,Difficulty只是一个空的游戏对象,里面包括了一个自己创建的Label和一个PopupList,在左边的Options参数中设置了四个选项,前面中括弧括起来的是该选项的颜色,如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg
Panel-Option最后的效果,如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg
设置完成之后,把该Panel-option的z轴的值设置成1400,并把它的enable关掉,如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg
接下来,为其添加一个Sprite背景和左边的Label,与以前面的NGUI官网示例2-interaction-讲解的过程制作出该Window的界面(此处有点偷懒,不过步骤与上面的论坛一样,所以也省略了一些,而且再加上一个帖子的图片个数有限,所以尽量节约图片,这里给出NGUI官网示例2- 三维立体窗体 interaction-讲解 )最终的效果如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg

  Panel-Option中,为其添加一个Animation组件(Component->Miscellaneous-> Animation),并把Animation的变量设置成Window-back动画和Window-forward动画(点击该变量最右边的小圆圈,可以出现左边的窗口),把Play Automatically关掉,如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg
使用同样的方法,在Panel-Main中,也添加一个Animation组件(Component->Miscell aneous->Animation),并在Animation变量中设置为Window-back和Window-forward动画,如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg
选择Button-Option按钮,为其添加两个(菜单中Component->NGUI->Interaction->Button Play Animation),在第一个组件中,设置Target为Panel-Options(Animation)直接把Panel-Options拖到里面就好了,Clip Name输入Window-Back,这个是关键(记得刚才设置两个window都设置了两个动画吧,这个用来播放其中的一个动画,只要动画的名称不出错)。Trigger为OnClick,PlayDirection为Reverse(动画播放翻转,也就是倒着播放动画), If Disabled On Play 设置为EnableThenPlay(被控制的对象的Enable打开并开始播放加在在此对象上的对象),Disable when Finished为DisableAfterForward(当前向播放完成后,关闭对象的Enable);在另外一个组件中,设置Target为Panel-Main(需要控制的动画对象),Trigger为On Click(点击时触发动画),Clip Name输入Window-Forward,这个是关键。If Disabled On Player为EnableThenPlay,Disable When Finished为DisableAfterForward。如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg
选择Panel-Option中的Button-Done,也同样添加两个为其添加两个(菜单中Component->NGUI->Interaction->Button Play Animation),并设置如下的参数:如图所示:
9825bc315c6034a81a2ada46ca13495408237628.jpg 9825bc315c6034a81a2ada46ca13495408237628.jpg 9825bc315c6034a81a2ada46ca13495408237628.jpg
这样便大功告成了!点击运行试试看。总结上面的三个帖子,可以想象得出,使用NGUI制作动态的GUI非常方便,而且添加各种Widget的过程都很类似,可以举一反三。同时只要为某个按钮添加一个UIButton PlayAnimation组件,然后设置该组件,便可以控制已经加入Animation组件的动画,这些Animation可以使用Unity的曲线或者程序编写或者第三方软件来制作。并可以实现向前播放和反向播放等功能,并能够控制该Target的Enable。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2024-11-23 15:30

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表