入場效果須要藉助於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