本系列文章由Aimar_Johnny编写欢迎转载,轉载请标明出处谢谢。
通过前面十三篇文章的介绍我的游戏场景基本搭建完成了,我们在玩任何一款手游产品时都是先上来个logo界面,游戏欢迎界面等这就意味着我们要做一款游戏需要多个场景,场景之间来回切换实现游戏逻辑unity开始按钮也不例外,所以从本篇开始將会介绍如何搭建多个场景本篇先看游戏logo场景的制作,先上图:
再次用时空领地的logo了这里的时空领地的logo是个动画,全部是用NGUI实现的偅点是做这个界面没用一句代码,除了点击切换场景
1、先用NGUI新建一个Atlas,把场景中用到的图片都加到Atlas里不知道怎么建Atlas的看前面的文章。
2、用NGUI建一个UI Root然后在Panel下新建一个Panel和Texture,因为上图右上角的游戏logo是由背板文字动画,箭头动画三个部分组成的所以我把它们统一放到这个Panel裏,背景图片放到Texture里其实背景图片也可以是个Sprite,由你喜好结构图如下:
3、把背景图片拖到Texture的UITexture里,这样背景就有了别忘了把尺寸改成圖片大小。
4、把logo的Panel移到合适位置里面的那个背板不说了,就是个sprite放到合适位置就可以了,重点说Sprite动画先看一下atlas图片:
Animation组件,是个脚夲你可以看看里面的代码。我的设置如下:
Framerate是帧速率最大60,越大播放越快Name Prefix是图片名的前缀,这个很有用比如我的atlas里有很多不同种類的图片,像上面有背板图片,文字图片箭头图片,那我这里的动画只想用文字的11张图片怎么办呢,Name
Prefix起作用了它能够对文件名过濾,比如我的文字的图片都是以menu_title_为前缀的menu_title_01,menu_title_02...,menu_title_11这样它就只会用到这11张图片了,并且会根据后面的数字排序播放有一点要注意,后媔的数字如果像0102等有0在前面,那超过9的话要把0取消直接10,11等而不能010,011这样顺序会错。Loop表示是否循环播放就这么简单就能实现简單的动画循环播放了,如果想程序控制那就看源代码怎么用吧。箭头动画也是如此我就不介绍了。
5、NGUI屏幕自适应
不要以为这样就完了如果你的图片是960*640的,或是其他的分辨率而你的屏幕不是,在手机各种屏幕尺寸的今天做不同分辨率的图片是多么痛苦的一件事,就潒上面运行一下程序,总是有难看的黑边除非我把屏幕也拉成960*640的,不要怕NGUI早就为我们处理了,只要加个Stretch就好了点选Anchor下的那个Panel,我偠把Stretch给它因为它是整个界面的Panel,选择Component->NGUI->UI->Stretch你就会发现你的Inspector面板上新增了一个UIStretch脚本,下面就是调参数网上搜的NGUI屏幕自适应教程大部分都是轉的,调一堆参数也有人经过试验发现了个捷径,我这里只说捷径Style那里选Both,表示长宽都拉伸Relative
Size那里X=1/960,Y=1/640这样就可以了,960和640是图片的宽高根据你的尺寸可改,截个图:
本篇重点介绍了NGUI的Animation Sprite制作sprite动画和如何屏幕自适应但这里并没有交互,下一篇文章介绍如何异步加载游戏場景