入场效果须要借助于NGUI提供的TweenPosition类来完成,为了说明此类的使用方法,本节将使会讲解两个示例。本文选自 大学霸 《NGUI使用手册》 一书编辑器
将游戏主菜单看做一个总体,本小节会令其自上而下匀速入场,具体的实现过程以下:动画
(1)在Project视图里,新建一个C#脚本,命名为AppearFromAbove,为其添加下面的代码:this
01 using UnityEngine;spa
02 using System.Collections;插件
03 orm
04 public class AppearFromAbove : MonoBehaviourhtm
05 {对象
06 // Use this for initialization游戏
07 void Start ()ip
08 {
09 this.transform.localPosition = new Vector3(0,1080,0);
10 TweenPosition.Begin (this.gameObject,2,Vector3.zero);
11 }
12 }
q 脚本09行,修改了游戏主菜单的初始位置,使其位于游戏视图以外的正上方;
脚本10行,TweenPosition.Begin()方法会将游戏主菜单,移动到坐标点为(0,0,0)的位置上,耗时2秒;本文选自 大学霸 《NGUI使用手册》 一书
(2)将此脚本赋予Container对象,而后运行游戏,效果如图4-所示。起初游戏视图上什么也没有,可是在2秒的时间内,游戏主菜单会匀速自上而下移动的游戏视图的中间。
图4- 游戏主菜单匀速入场效果展现
提示:仅仅使用了两行代码,此种效果就完成了。固然,上面说的是使用自定义脚本的方法,其实要实现相同的效果,读者还可使用NGUI提供的组件,此方法也相较自定义脚本更简单些。具体的作法是,为Container对象添加Tween Position(Script)组件,方法是单击Component|NGUI|Tween|Tween Position命令,而后设置此组件的下列属性便可,如图4-所示。
q From:(0,1080,0);
q To:(0,0,0);
q Duration:2;
q Transform组件P:(0,1080,0);
图4- Tween Position(Script)组件属性设置
游戏一开始,游戏主菜单就由上而下入场,显得有些突兀,最好令其延迟1秒再入场,并且如此之后何不添加些其它效果,例如弹跳!本小节就来讲明此种效果的实现方法。本文选自 大学霸 《NGUI使用手册》 一书
(1)修改脚本AppearFromAbove中的代码,修改后的代码以下:
01 using UnityEngine;
02 using System.Collections;
03
04 public class AppearFromAbove : MonoBehaviour
05 {
06 // Use this for initialization
07 void Start ()
08 {
09 this.transform.localPosition = new Vector3(0,1080,0);
10 TweenPosition tween = TweenPosition.Begin (this.gameObject,2,Vector3.zero);
11 tween.delay = 1f;
12 tween.method = UITweener.Method.BounceIn;
13 }
14 }
q 脚本09、10行的代码,上一小节已经介绍过了;
q 脚本11行,添加了延迟,即游戏主菜单1秒后开始入场;
q 脚本12行,添加了入场后的效果,这里使用的是弹跳效果;
(2)运行游戏,便可看到游戏主菜单的平滑入场效果。要说与上一小节的区别,主要表如今两方面,一是延迟了入场时间,二是添加了入场后的动画效果。本文选自 大学霸 《NGUI使用手册》 一书
提示:NGUI提供的动画效果不仅是弹跳而已,要想知道还有哪些效果,能够灵活使用脚本编辑器的“代码自动补全”功能,例如在MonoDevelop中,书写到脚本12行时,自动补全效果如图4-所示,能够看出,NGUI一共提供了6种效果。
图4- 活用“代码自动补全”功能,发掘其它的动画效果
本文选自 大学霸 《NGUI使用手册》 一书
大学霸淘宝店:http://shop110091412.taobao.com/index.htm?spm=a1z10.3.w5002-6661928470.2.xok9rV
Unity游戏开发群:81048466