我们在玩任何一款手游产品时,都是先上来个logo界面,游戏欢迎界面等,这就意味着我们要做一款游戏需要多个场景,场景之间来回切换实现游戏逻辑,unity也不例外,所以从本篇开始将会介绍如何搭建多个场景,本篇先看游戏logo场景的制作,先上图:

再次用时空领地的logo了,这里的时空领地的logo是个动画,全部是用NGUI实现的,重点是做这个界面没用一句代码,除了点击切换场景。

之前那个游戏场景,我起名GameScene,然后我新建一个场景File->New Scene,起名BeginMenuScene。下面开始制作。

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图片:

上图中包含一个logo背板,11帧文字动画,14帧箭头动画,以文字动画为例,NGUI怎么不用一句代码加载动画呢,我们要用到Sprite Animation,选Component->NGUI->UI->Sprite Animation,这样我的Sprite(LogoText)就增加了UISprite Animation组件,是个脚本,你可以看看里面的代码。我的设置如下:

Framerate是帧速率,最大60,越大播放越快,Name Prefix是图片名的前缀,这个很有用,比如我的atlas里有很多不同种类的图片,像上面,有背板图片,文字图片,箭头图片,那我这里的动画只想用文字的11张图片,怎么办呢,Name Prefix起作用了,它能够对文件名过滤,比如我的文字的图片都是以menu_title_为前缀的,menu_title_01,menu_title_02,...,menu_title_11,这样它就只会用到这11张图片了,并且会根据后面的数字排序播放,有一点要注意,后面的数字如果像01,02等有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动画和如何屏幕自适应,但这里并没有交互,下一篇文章介绍如何异步加载游戏场景。

[Unity3D]NGUI用Sprite动画和屏幕自适应做游戏开始场景的更多相关文章

  1. 【Unity3D插件】NGUI屏幕自适应(转)

    屏幕自适应 NGUI可以比较方便的实现屏幕自适应,但是它的官方教程里面针对这个问题没有详细的教程,所以可能在实现的时候会走比较多的弯路.以下是我在开发过程中找到的一个比较方便的实现方法. 主要组件 1 ...

  2. Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)

    原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址: ...

  3. Unity3D NGUI Sprite精灵动画

    NGUI 2.6.1下载: part1 part2 NGUI 实现Sprite精灵动画很简单: 1.先制作图像集合.打开NGUI菜单下Atlas Maker,选中切好的图片,点击Add/Update按 ...

  4. 【NGUI】屏幕自适应(不用UIStretch,用UIRoot)---------------good

    原地址:http://blog.csdn.net/lzhq1982/article/details/18814023 这篇文章是转载的,之前用UIStretch做屏幕自适应,但一直有两个硬伤让我难受, ...

  5. NGUI屏幕自适应(转)

      屏幕自适应 NGUI可以比较方便的实现屏幕自适应,但是它的官方教程里面针对这个问题没有详细的教程,所以可能在实现的时候会走比较多的弯路.以下是我在开发过程中找到的一个比较方便的实现方法. 主要组件 ...

  6. NGUI屏幕自适应

    NGUI确实是非常棒的一个做界面的插件,比起U3D自带的GUI要好很多,当然也有一些不好之处,毕竟什么都不可能那么完美. 最近在用Unity写游戏使用NGUI遇到了一个很多人都在遇到的问题,就是关于屏 ...

  7. NGUI学习笔记(三):屏幕自适应

    我们开发移动端游戏的时候,一般都会选择Constrained/FixedSize的缩放模式来保证图片在不同的分辨率下相对于屏幕的尺寸保持一致,但是对于屏幕自适应来说,这还是不够的,不同的手机存在不同的 ...

  8. Unity3D NGUI UIPlayTween(原UIButtonTween)动画事件详解

    http://blog.csdn.net/asd237241291/article/details/8507817 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术 ...

  9. Unity3d ngui基础教程

    Unity3d ngui基础教程 NGUI教程:步骤1-Scene 1.创建一个新的场景(New Scene).2.选择并删除场景里的MainCamera.3.在NGUI菜单下选择Create a N ...

随机推荐

  1. 用类(function(){})()实现点击显示index索引值的详解

    code: <script type="text/javascript"> ; i < ; i++){ var btn = document.createElem ...

  2. WKWebView与JS交互,UIWebView+JavascriptCore和JS交互

    最近一直在做有关Swift和JavaScript交互的程序,所以有关UIWebView和WKWebView在使用上的差别在此总结下: UIWebView: (1)创建 var webView: UIW ...

  3. XML 架构 (XSD) 参考

    https://msdn.microsoft.com/zh-cn/library/ms256235.aspx XML 架构示例 XML 架构元素 XML 数据类型引用 XML 架构正则表达式 XML ...

  4. ARM处理器解析

    按图分析: ARM处理器有七种工作模式,为的是形成不同的使用级别,以防造成对系统的破坏.不同模式可以访问的寄存器不同,可以运行的指令不同. (1)user(10000):普通应用程序运行的模式(应用程 ...

  5. Kakfa重连测试

    在Kafak已启动的情况下: 发送端首次连接大概耗时400毫秒.后续消息发送都在1毫秒以下. 接收端首次连接大概耗时400-7000毫秒.后续消息接收都在1毫秒以下.(具体时间与topic中存留的消息 ...

  6. spark安装(实战)

    sparksql+hive :http://lxw1234.com/archives/2015/06/294.htm 1,安装scala http://scala-lang.org/download/ ...

  7. PHP 的异常处理、错误处理:error_reporting,try-catch,trigger_error,set_error_handler,set_exception_handler,register_shutdown_function

    一.错误.异常 等级常量表 error:不能在编译期发现的运行期错误,比如试图用 echo 输出一个未赋值的变量,这类问题往往导致程序或逻辑无法继续下去而需要中断: exception:程序执行过程中 ...

  8. PHP文件包含漏洞攻防实战(allow_url_fopen、open_basedir)

    摘要 PHP是一种非常流行的Web开发语言,互联网上的许多Web应用都是利用PHP开发的.而在利用PHP开发的Web应用中,PHP文件包含漏洞是一种常见的漏洞.利用PHP文件包含漏洞入侵网站也是主流的 ...

  9. C和指针 第四章 习题

    4.1正数的n的平方根可以通过: ai+1= (ai + n / ai ) / 2 得到,第一个a1是1,结果会越来越精确. #include <stdio.h> int main() { ...

  10. javascript基础03

    javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...