unity基础开发--学习EZGUI教程
2013-03-30 02:56
351 查看
unity基础开发--学习EZGUI教程
分类: NGUI效果 2012-12-03 20:51 198人阅读 评论(0) 收藏 举报自己学习EZGUI时候随手写的教程,但是一直解决不了EZGUI的自适应屏幕问题 灰常郁闷~
请各位转发的朋友们 著名下出处吧 我也出出名~~~
EZ视频地址:http://www.anbsoft.com/middleware/ezgui/
EZ的文档网址:
http://www.anbsoft.com/middleware/ezgui/docs/page23/page23.html
每次都需要创建一个空物体UIManager来承载UIManager脚本
课程1
点击类:比如确定 退出之类的,
1、脚本使用UIManager和UIButton
2、在UIButton里的State/Element中加入各种状态的图片(平时 点击 离开状态图),或者在Window中选择UIControl Editor然后加入各种状态的图片。
3、创建一个材质球material来承载生成的图片(此时material还没有贴图),选择shader为Sprite中的Vertex Colored(自己看需要那个,官方是这个)。
4、点击tools选择Build Atlases来创建图片,这时候会生成一个Sprite Atlases的文档来存储生成的图片,把生成的图片赋给材质球material即可
5、在UIButton中找到Pixel Perfect选项 勾选次选项即可。
课程2
勾选类:点击后勾选次框
1、 使用脚本UIManager和UIStateToggleBtn
2、 在UIButton里的State/Element中加入各种状态的图片如课程1所述
3、 创建材质球如课程1
4、 生成相应的贴图,如课程1
5、 勾选Pixel Perfect选项。
Ps:UIManager脚本中的Pointer Type的选项中囊括了 mouse(鼠标点击适用于电脑)、touchpad(触发适用于Iphone Ipad等)具体情况请自己决定
课程3
弹出对话框或者菜单类:
1、 使用脚本UIManager和UIInteractivePanel
2、 创建一个空的GameObject取名Panel,添加给他脚本UIInteractivePanel
3、 把菜单栏的子按键创建好,并记得添加按键脚本UIButton(子按键的创建和课程1的一样)。
4、 然后选择Panel添加BoxCollider属性,确保BoxCollider属性应该在子按键的后边,并且,长宽都要可以完全包容子按键及如图:
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_f085cc1eb04e426.png?61986)
图片:EZgui-1085.png
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_1122eac255d83a6.png?14236)
图片:EZgui-1087.png
5、 重点:一定要选择对了相应的Trans:及如下图
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_36ce94ddfdfbdd7.png?6592)
图片:EZgui-1114.png
这个是很重要的 一旦选择错误了 那么就会做不出你想要的结果,这个弹出就是选择
Normal from Over状态
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_f1589289e25c1ff.png?27425)
图片:EZgui-1172.png
和Over from Normal状态
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_dbc6ce5223d01cb.png?28444)
图片:EZgui-1193.png
这样才能确保正确的生成动画,或者也可以采用官方的粒子选择Normal from Over模式下选择:Easing的ElasticOut模式, Mode选择FromTo模式。也可产生相应的动画
6、 Use Current就是使用当前物体的坐标,坐标直接提取就可以了。坐标提取请参看视频
课程4
[align=left]界面菜单panel的显示一前提除了UIManager脚本外再创建一个UIPanelManager脚本UIPanel的物体 [/align]
[align=left]然后再在UIPanelManager父物体山建立子物体并给予UIPanel脚本 [/align]
在此子物体上再建立多个子物体附上脚本Change panel Button
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_c839f3b1cf42c51.png?2891)
图片:EZgui-1486.png
然后就可以设置起始跟结束位置了
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_8e5b991ac947995.png?16224)
图片:EZgui-1502.png
然后就写一个更新脚本的函数例如:
[align=left]varmainMenu:UIPanelManager;[/align]
[align=left]functionStart(){ Invoke("Begin",1); }[/align]
[align=left]functionBegin(){ mainMenu.BringIn("main"); } [/align]
如果是碰到从1界面跳转到2界面然后再从2界面跳转到1界面时2还存在没有立即消失则需要去掉“-”
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_80e9e56cdbe6c36.png?4954)
图片:EZgui-1680.png
dismiss
[align=left]制作普通的按键脚本UiPanel主要是给父物体,用来调节淡入淡出和位移变化。[/align]
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_69cf21a7b963540.png?62360)
图片:EZgui-1730.png
[align=left]子物体按键的脚本UIBtnChangePanel,主要用来设置点击变化,跳转等:[/align]
![](http://game.ceeger.com/forum/attachment/thumb/Mon_1112/2_1_95b92f8ded1fe0e.png?42015)
图片:EZgui-1773.png
注意的地方就是该脚本下的
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_8442628ed1dba56.png?10876)
图片:EZgui-1787.png
规定了调用的动画是Bring In Back 规定下一个panel是Main Panel。以及菜单的总系统
另外注意的地方:
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_eee111c9fc06443.png?23360)
图片:EZgui-1852.png
Bring In Forward是播放的开始动画
Dismiss Back 是播放的结束动画
所以实际播放课程3动画是先播放Bring In Forward的出现动画,在播放Dismiss Back的消失动画
Bring In Back是返回动画 或者是消失动画 这个是在脚本里规定的
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_98b97eec7c524fb.png?10876)
图片:EZgui-1998.png
规定了调用的动画是Bring In Back 规定下一个panel是Main Panel
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_ba9467cfb81f2f1.png?21543)
图片:EZgui-2044.png
这个是调节Panel色透明度,比如淡入淡出效果就从这里调节。
基本上这样就可以做从左边右边上边下边后边什么的出现的特效了
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_46e665c7c7d0dc1.png?9447)
图片:EZgui-2106.png
第一个是放上的声音 第二个是点击后的声音
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_3981adb22699173.png?114568)
图片:EZgui-2130.png
[align=left]拉动条,脚本UISlider,[/align]
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_1d7b75d0ffa8f38.png?23)
图片:UISlider.png
[align=left]记得拖动条的一定不要在脚本内调节大小 这样横框是不会出来的 所以你需要点击预设在Transform的Scale调节大小。[/align]
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_2e74a160f9c2892.png?5327)
图片:EZgui-2211.png
[align=left]调节Knob(竖型条)的立体位置,一般来说只调节Z轴位置 让Knob在横条前方遮挡主横条[/align]
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_45d3b2f2ba1a751.png?5165)
图片:EZgui-2258.png
[align=left]调节Knob的拖动范围及已开始位置,Default Value是设置起始位置距离左边的位置,Stop Knob From Edge是距离左右结束位置的距离,比如设定为0.1那么你往2边拖动的话,只能到结束位置往中间0.1的位置,自己试一下 我可能描述的不是很清楚。[/align]
[align=left]伸缩菜单和淡入淡出菜单一样 只要把握好了就可以。[/align]
[align=left]直接使用文字脚本:Sprite Text[/align]
[align=left]点击后换图(可以多次换图):UIStatr Toggle Btn[/align]
[align=left]滑动菜单:UIScroll List[/align]
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_0ac5f040787b0e5.png?16244)
图片:EZgui-2492.png
[align=left]这里的Type和Easing都是特殊效果的,我知道的效果有[/align]
[align=left]Type:Translate,位移变化[/align]
[align=left] FadeSprite,透明度变化[/align]
[align=left]Easing:Elastic,移动+抖动[/align]
[align=left] Sinusoidal,移动[/align]
[align=left]Back,貌似是倒播 就是动画倒着播放先播放后边在播放前边[/align]
关于抖动
菜单类型:隐藏式(从无到有,就是通过Translate 瞬间从屏幕外边位移到当前位置),下拉式(伸缩类),位移式(屏幕外到屏幕内),
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_3964ab87d5a3f58.png?21569)
图片:EZgui-2728.png
第一个槽Script With Method To里拖拽物体,
一般使用UIControl,然后写脚本
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_c660f7bb5cd9e6a.png?15671)
图片:EZgui-2782.png
[align=left]赋给UIControl,然后再Methpd To Invoke里写上你要调用的函数,比如本图调用的是UIControl的脚本里的Exit函数。[/align]
2个按键制作弹出和缩入制作时候注意:
缩入的选项要注意选择
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_4533e9803f29630.png?16955)
图片:EZgui-2887.png
弹出时候应该选择
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_ff17c4790165524.png?17564)
图片:EZgui-2898.png
注意 在脚本那个地方都不要选择函数了,
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_559a4bf361103fb.png?15217)
图片:EZgui-2920.png
1个键制作弹出缩入时候:
首先要谈价Uimanager,UipanelManager,UIPanel,3个父物体
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_b8fdbd8733e1f0e.png?39051)
图片:EZgui-2980.png
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_85a9506c7baa9fe.png?66687)
图片:EZgui-2982.png
然后创建按键
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_64e4134cb51450a.png?120373)
图片:EZgui-2991.png
特别注意一个地方调节玩动画一定要注意的地方是
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_91271ac1687f800.png?40593)
图片:EZgui-3016.png
一定要选这个,然后添加脚本。
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_33fdc7dbd78e22a.png?39276)
图片:EZgui-3033.png
(我老觉得哪里不对)
PS:说明脚本开始播放函数,Begin是开始播放的函数动画,下边是另外写的函数动画。
另外出现隐藏和这个是一样的,还有
制作拖动类的物体时候 要首先建立Scroll List如下图:
控制拖动的是Touch Scroll
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_966c25f1744473e.png?130324)
图片:EZgui-3157.png
然后在逐个创建框内按键,例如:
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_970b5e15584f1ba.png?134939)
图片:EZgui-3175.png
建议这种拖动类的按键一定要在脚本内设置大小不要使用Scale
制作花蹦出那个效果:就是注意
![](http://game.ceeger.com/forum/attachment/Mon_1112/2_1_e23b31dfe3f2566.png?23081)
图片:EZgui-3223.png
然后还有就是花的初始位置其他都没什么了,弄好动作就可以了
然后还要注意的一点事 貌似官方例子是可以自动收回的
注意制作子系列按键,比如花的那个时候 自己制作时候会有点击直接消失的 ,只要是因为按键反应不灵敏造成的,
转自http://game.ceeger.com/forum/read.php?tid=225
相关文章推荐
- unity基础开发--学习EZGUI教程
- Unity 4.x 2D游戏开发基础教程大学霸第一更
- Unity开发基础——基本数据类型学习笔记
- 【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D
- ArcGIS Engine基础开发教程(4)— 学习图层符号化
- unity基础开发--最简单效果最好的unity3D分辨率适应教程
- Unity2D游戏开发基础教程1.2 项目、资源和场景
- Android开发学习路线_零基础Android移动开发就业培训教程
- unity基础开发--学习笔记
- unity基础开发 ----Unity3D 4.0新功能:Mecanim动画系统基础教程
- Unity4.x 2D游戏开发基础教程第1章Unity及其组成的介绍
- IOS开发基础教程学习笔记2 DatePicker获取时间
- Unity开发基础——类型转换学习笔记
- IOS开发基础教程学习笔记4 在storyboard的场景之间传递数据
- 学习网站开发必备推荐!30天学会HTML和CSS基础入门视频教程 (免费精品课程)
- 【GStreamer开发】GStreamer基础教程05——集成GUI工具
- IOS开发基础教程学习笔记1(第6章)多视图应用程序
- 【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D
- python基础教程学习笔记 — 准备Windows下开发环境
- Unity开发基础——控制台输入输出学习笔记