第一講 iTween插件的使用_第1頁
第一講 iTween插件的使用_第2頁
第一講 iTween插件的使用_第3頁
第一講 iTween插件的使用_第4頁
第一講 iTween插件的使用_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一講 iTween插件的使用深圳市國泰安信息技術(shù)有限公司一、iTween插件簡介二、iTween類三、iTweenPath1、iTween插件簡介v iTween是一個動畫庫,作者創(chuàng)建它的目的就是最小的投入實(shí)現(xiàn)最大的產(chǎn)出。讓你做開發(fā)更輕松,用它可以輕松實(shí)現(xiàn)各種動畫,晃動,旋轉(zhuǎn),移動,褪色,上色,控制音頻等等。v iTween的核心是數(shù)值的插值。只需要定義開始和結(jié)束,中間過程iTween就會幫你弄好。v iTween插件包含兩部分:iTween和iTweenPath 1、iTween插件簡介v 如何將iTween 加入項目:1. 在項目中建立Plugins目錄, 將iTween.cs文件放到P

2、lugins目錄即可。2. 如果需要編輯路徑,使用import package-custom package菜單功能加入iTweenPath.unitypackage2、iTween類介紹v iTween類的公共操作接口均以靜態(tài)方法的形式提供??煞譃槿箢悾?. 靜態(tài)注冊方法:提供注冊動畫效果的靜態(tài)方法接口。如:MoveTo、CameraFadeTo等。2. Update靜態(tài)方法:提供每幀改變屬性值的環(huán)境,在Update或循環(huán)環(huán)境中調(diào)用。如:MoveUpdate、AudioUpdate等。3. 外部工具方法:包括動畫控制、路徑繪制等。2.1 內(nèi)部枚舉類型v iTween類內(nèi)部定義了三種枚舉類型

3、,分別為:1. EaseType:緩動類型枚舉 (Easing Demo)2. LoopType:動畫的循環(huán)類型枚舉3. NamedValueColor:已命名顏色枚舉 3.2 靜態(tài)注冊和Update類方法v iTween類包含12種靜態(tài)注冊方法,其中:8種動畫方法:Fade、Look、Move、Rotate、Scale、Punch、 Shake、CameraFade2種音頻方法:Audio、Stab1種顏色變化方法:Color1種值變化方法:ValueTov 每種動畫又有一種或多種執(zhí)行方式:To、From、Add、By。v 每個方法一般有兩種重載方式:最小定制選項、完全定制選項。v Upda

4、te類方法:提供每幀改變屬性值的環(huán)境。在Update或 FixedUpdate方法或類似于循環(huán)的環(huán)境中調(diào)用。2.2.1 物體移動方法v 共有五種物體移動方法:1. MoveTo:從原位置移動到目標(biāo)位置。2. MoveFrom:從目標(biāo)位置移動到原位置。3. MoveAdd:隨時間移動游戲?qū)ο蟮奈恢?,根?jù)提供的量。4. MoveBy:增加提供的坐標(biāo)到游戲?qū)ο蟮奈恢?。(與MoveAdd一樣)5. MoveUpdate:類似于MoveTo,在Update()或FixedUpdate()方法或循環(huán)環(huán)境中調(diào)用。提供每幀改變屬性值的環(huán)境。不依賴于EaseType。3.2.1.1 方法的參數(shù)v 注冊動畫的方法

5、一般有兩種重載形式:1. 最小定制選項:只需提供最少必需參賽。2. 完全定制選項:可定制所有參數(shù)。 如:MoveTo(GameObject target, Vector3 position, float time) MoveTo(GameObject target, Hashtable args)2.2.1.2 參數(shù)構(gòu)建 v Hashtable Hash(params object args):用于構(gòu)建參數(shù)的通用方法。其奇數(shù)位為參數(shù)名稱,偶數(shù)位對應(yīng)的參數(shù)值。 如:iTween.Hash(position, new Vector3(10,20,-30),time, 1,ooptype, Twee

6、n.LoopType.pingPong,onstart, FunctionName,islocal, true); 2.2.1.3 參數(shù)詳解v以MoveTo()方法為例:var args = new Hashtable();/用于標(biāo)識iTween實(shí)例的名稱,可通過Stop(“name”)停止指定名稱的iTween。args.Add(“name”,“myMoveTo” );/游戲?qū)ο笠苿拥降奈恢?,可?Vector3 或 Transform 類型。優(yōu)先于xyz參賽args.Add(“position”, Vector3.up);/游戲?qū)ο笠苿拥穆窂?,可?Vector3 或 Transform

7、類型??赏ㄟ^ iTweenPath編輯并獲取路徑。args.Add(“path”, iTweenPath.GetPath(“pathName”);/是否移動到路徑的起始位置(false:游戲?qū)ο罅⒓刺幱诼窂降钠鹗键c(diǎn),true:游戲?qū)ο髮脑嘉恢靡苿拥铰窂降钠鹗键c(diǎn)。)args.Add(“movetopath”, false);/目標(biāo)位置 x 軸的值,下同args.Add(“x”, 10);args.Add(“y”, 10);args.Add(“z”, 10);2.2.1.3 參數(shù)詳解/是否讓游戲?qū)ο笫冀K面朝路徑行進(jìn)的方向,拐彎的地方會自動旋轉(zhuǎn)模型。(如果你發(fā)現(xiàn)你的游戲?qū)ο笤趯ぢ返臅r候始終都是一

8、個方向那么一定要打開這個。)args.Add(orienttopath, true);/游戲?qū)ο笠苿舆^程中始終注視的目標(biāo)點(diǎn),可為 Vector3 或 Transform 類型。(當(dāng)“orienttopath”為true時,該參數(shù)無效)args.Add(looktarget, Vector3.zero);/游戲?qū)ο罂聪騦ooktarget 的秒數(shù)。args.Add(looktime, 0.8);/當(dāng)包含path參數(shù)且orienttopath為true時, 該值用于計算looktarget的值,表示游戲物體看著前方的點(diǎn)的位置(百分比,默認(rèn)為0.05)args.Add(lookahead, 0.01

9、);/限制僅在指定的軸上旋轉(zhuǎn)args.Add(axis, y);/是否使用局部坐標(biāo)系(相對于父物體的坐標(biāo)),默認(rèn)為false。args.Add(“islocal”, true);2.2.1.3 參數(shù)詳解/動畫執(zhí)行的時長args.Add(time, 3);/可以用來替換“time”參數(shù),以允許動畫基于速度運(yùn)行。(同時提供time和speed參數(shù),將使用speed參數(shù))args.Add(speed, 5);/延時args.Add(delay, 2);/緩動類型,枚舉或字符串名稱。demoargs.Add(easetype, iTween.EaseType.linear);/循環(huán)類型args.Add

10、(looptype, iTween.LoopType.none);/在動畫開始時調(diào)用的方法的名稱。args.Add(onstart, funName);/持有onstart 方法的游戲?qū)ο?。args.Add(onstarttarget, gameObject);/發(fā)送給onstart方法的參數(shù)。System.Object 類型args.Add(“onstartparams”,“動畫開始執(zhí)行”);2.2.1.3 參數(shù)詳解/在動畫執(zhí)行過程中的每幀調(diào)用。args.Add(onupdate, funName);args.Add(onupdatetarget, gameObject);args.Add(

11、onupdateparams,Time.time);/在動畫執(zhí)行過程中的每幀調(diào)用。args.Add(oncomplete, funName);args.Add(oncompletetarget, gameObject);args.Add(oncompleteparams,動畫已執(zhí)行完);/此參數(shù)將被賦予useRealTime靜態(tài)私有變量。是否使用真實(shí)游戲時間(不被Time.timeScale影響的時間)args.Add(ignoretimescale,false);/注冊動畫到目標(biāo)游戲?qū)ο骾Tween.MoveTo(gameObject, args);2.2.2 游戲物體的顏色變化v 共3種顏

12、色漸變方法:1. ColorTo:從原始顏色漸變到目標(biāo)顏色。2. ColorFrom:從給定的顏色漸變回原始顏色3. ColorUpdate:類似于ColorTo,在Update方法或類似于循環(huán)的環(huán)境中調(diào)用,提供每幀改變屬性值的環(huán)境。不依賴于EaseType。v 參數(shù)說明:1. color:根據(jù)組件的存在與否,該值將被應(yīng)用于目標(biāo)對象的GUITexture組件 或 GUIText組件 或 renderer組件 或 light組件。2. namedValueColor:當(dāng)效果是應(yīng)用在renderer(渲染器)組件上時,此參數(shù)確定具體應(yīng)用到哪個已命名顏色值上。3. includechildren:效

13、果是否應(yīng)用于子對象,默認(rèn)true。2.2.3 游戲?qū)ο蟮氲鰒 實(shí)現(xiàn)給定游戲?qū)ο蟮牡氲鲂Ч?,?種方法:1. FadeTo:從當(dāng)前透明度漸變到目標(biāo)透明度。(內(nèi)部調(diào)用ColorTo)。2. FadeFrom:從給定透明度漸變都原始透明度。(內(nèi)部調(diào)用ColorFrom)。3. FadeUpdate:類似于FadeTo,在Update方法或類似于循環(huán)的環(huán)境中調(diào)用,提供每幀改變屬性值的環(huán)境。不依賴于EaseType(內(nèi)部調(diào)用ColorUpdate)。v 參數(shù)說明:alpha 和 amount 參數(shù): 均為最終透明度,amount 優(yōu)先于alpha。內(nèi)部實(shí)現(xiàn)是僅改變color.a的值,再調(diào)用對應(yīng)的

14、Color方法。2.2.4 攝像機(jī)淡入淡出v7種與攝像機(jī)淡入淡出相關(guān)的方法:1. CameraFadeTo:透明度從當(dāng)前值漸變到指定值,取值(01)0:完全透明,1:完全不透明。2. CameraFadeFrom:從給定的透明度漸變到原始值。3. CameraFadeAdd:創(chuàng)建一個用于模擬攝相機(jī)的淡入淡出的游戲?qū)ο?如果它不存在)。需要在在注冊淡入淡出效果之前調(diào)用該方法。4. CameraTexture:創(chuàng)建并返回一個全屏的 Texture2D,用于攝象機(jī)的淡入淡出。該Texture2D作為CameraFadeAdd()的參數(shù)。5. CameraFadeDepth:改變攝相機(jī)的淡入淡出深度(

15、CameraFadeAdd()所創(chuàng)建的對象的z軸值)6. CameraFadeSwap:重設(shè)淡入單純效果所使用的紋理CameraFadeAdd所創(chuàng)建的對象的guiTexture.texture)。7. CameraFadeDestroy:刪除攝相機(jī)的淡入淡出效果(銷毀ameraFadeAdd所創(chuàng)建的對象)2.2.5音頻方法v音頻變化方法1. AudioTo:漸變AudioSource的音量和音調(diào)到目標(biāo)值。2. AudioFrom:將AudioSource的音量和音調(diào)從給定的值漸變到原始值。3. AudioUpdate:類似于AudioTo,在Update方法或類似于循環(huán)的環(huán)境中調(diào)用,提供每幀改

16、變屬性值的環(huán)境。不依賴于EaseType。v音頻播放方法Stab:播放AudioClip一次,不用手動加載AudioSource組件。2.2.6 Look類方法1. LookTo:旋轉(zhuǎn)游戲?qū)ο笫蛊涿娉付ǖ腡ransform 或 Vector3 2. LookFrom:使游戲?qū)ο髲奶峁┑姆较蛐D(zhuǎn)回原來所面朝的方向。3. LookUpdate:類似于LookTo,在Update方法或類似于循環(huán)的環(huán)境中調(diào)用,提供每幀改變屬性值的環(huán)境。不依賴于EaseType。說明:游戲?qū)ο蟮恼嬷傅氖怯螒驅(qū)ο蟮膠軸方向,也就是使游戲?qū)ο蟮膠軸指向目標(biāo)點(diǎn)。2.2.7 旋轉(zhuǎn)方法 1. RotateTo:旋轉(zhuǎn)游戲物體到

17、指定歐拉角角度。 2. RotateFrom:將游戲物體從給的歐拉角度旋轉(zhuǎn)回原始角度。3. RotateAdd:對游戲物體的旋轉(zhuǎn)角度隨著時間增加所提供的歐拉角(Vector3三個值解析:X,Y,Z各代表圍繞哪個軸轉(zhuǎn)動。其轉(zhuǎn)動角度就是X,Y,Z、的值的大小。amount:歐拉角大?。?. RotateBy:將提供的值乘以360,其余與RotateAdd一樣。也就是提供的值為每個軸上旋轉(zhuǎn)的周數(shù)。5. RotateUpdate:類似于RotateTo,在Update方法或類似于循環(huán)的環(huán)境中調(diào)用,提供每幀改變屬性值的環(huán)境。不依賴于EaseType。(Look類方法是基于目標(biāo)點(diǎn)的旋轉(zhuǎn),Rotate類方法

18、是基于角度的旋轉(zhuǎn)。)2.2.8 物體大小縮放1. ScaleTo:改變游戲?qū)ο蟮谋壤笮〉轿覀兲峁┑闹怠?. ScaleFrom:將物體的大小從我們提供的值變化到原本的大小。3. ScaleAdd:增加游戲物體的大小。4. ScaleBy:成倍地改變物體的大小。 Amount參數(shù)為各軸上的倍數(shù)。5. ScaleUpdate:類似于ScaleTo,在Update方法或類似于循環(huán)的環(huán)境中調(diào)用,提供每幀改變屬性值的環(huán)境。不依賴于EaseType。2.2.8 晃動效果方法1. PunchPosition:對物體的位置添加一個搖晃的力,使其搖晃最終歸于原來的位置 其晃動大小和方向由提供的amount(V

19、ector3)決定。2. PunchRotation:對物體的旋轉(zhuǎn)添加一個搖晃的力,使其旋轉(zhuǎn)最終歸于初始值。其旋轉(zhuǎn)角度大小和方向由提供的Vector3決定,建議用單軸而不是整個Vector3,例如(0,1,0)是繞Y軸旋轉(zhuǎn),角度大小由Vector3 Y軸值大小決定。3. PunchScale:對物體的大小比例添加一個搖晃的力,使其大小比例變化最終歸于初始值。其大小比例變化方向和大小由提供的Vector3決定。例如(0,1,0)是在Y軸方向?qū)ξ矬w大小變化(即變化物體的高),大小由該方向的值大小決定。2.2.9 衰減晃動效果方法1. ShakePosition:根據(jù)提供的amount衰減其值隨機(jī)搖

20、動游戲物體的位置,其晃動大小和方向由提供的amount(Vector3)決定(方向根據(jù)Vector3隨機(jī),晃動大小,由各個方向的值的大小決定)。2. ShakeRotation:根據(jù)提供的amount衰減其值隨機(jī)擺動旋轉(zhuǎn)游戲物體的角度 。Vector3三個值解析:X,Y,Z各代表圍繞哪個軸旋轉(zhuǎn)。其轉(zhuǎn)動角度就是X,Y,Z、的值的大小。3. ShakeScale:根據(jù)提供的amount衰減其值隨機(jī)擺動改變游戲物體的大小。其大小比例變化方向和大小由提供的Vector3決定。例如(0,1,0)是在Y軸方向?qū)ξ矬w大小變化(即變化物體的高),大小由該方向的值大小決定2.2.10 值方法1. ValueTo:返回一個“from”和“to”之間的插值,以調(diào)用“onupdate”回調(diào)函數(shù)?!皁nupdate”回調(diào)是必需的,且它接收一個與“from”和“to”相同類型的參數(shù)。支持的值類型: float 、 double 、Vector3 、Vector2 、Color 、Rect 。2. 在Update()中調(diào)用的值方法:FloatUpdate、Vector3Update、Vector2Update、RectUpdate。這些方法返回一個在提供的兩個值之間的插值,大小變化根據(jù)提供的速度。2.3 外部工具方法v 動畫控制:1. Pa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論