iTween是一個(gè)動(dòng)畫庫(kù),作者創(chuàng)建它的目的就是最小的投入實(shí)現(xiàn)最大的產(chǎn)出.讓你做開(kāi)發(fā)更輕松,用它可以輕松實(shí)現(xiàn)各種動(dòng)畫,晃動(dòng),旋轉(zhuǎn),移動(dòng),褪色,上色,控制音頻等等 到官網(wǎng)看看 http://itween.pixelplacement.com
主要文件有iTween.cs http://code.google.com/p/itween/downloads/list
和 iTweenPath.unitypackage(編輯路徑才需要這個(gè)包)
文檔地址 http://itween.pixelplacement.com/documentation.php
AudioFrom:pitch和volum屬性提供的是初始值
audioTo: pitch和volum屬性提供的是終結(jié)值
audioUpdate:pitch和volum屬性提供的是終結(jié)值 此方法用于Update()方法中
CameraFadeAdd:創(chuàng)建一個(gè)對(duì)象可以模擬攝相機(jī)的淡入淡出。
CameraFadeDepth:改變攝相機(jī)的淡入淡出深度(對(duì)象為CameraFadeAdd返回對(duì)象)
CameraFadeDestroy:刪除攝相機(jī)的淡入淡出效果(對(duì)象為CameraFadeAdd返回對(duì)象)
CameraFadeSwap:改變攝相機(jī)的淡入淡出背景圖(對(duì)象為CameraFadeAdd返回對(duì)象)
CameraFadeFrom:立即改變攝相淡入淡出的透明度然后隨時(shí)間返回.amount:當(dāng)執(zhí)行淡入淡出時(shí),
其透明度的大小抄瑟。(透明度越大寝并,淡入淡出越快,個(gè)人認(rèn)為100為滿鞭衩。此方法配合CameraFadeAdd
使用苛白,只有在CameraFadeAdd前提下焰檩,才可以進(jìn)行淡入淡出操作倾芝。此方法為從CameraFadeAdd返回
的對(duì)象出淡出到原來(lái)的界面讨勤。
CameraFadeTo:隨時(shí)間改變攝相機(jī)淡入淡出透明度,(透明度越大晨另,淡入淡出越快,個(gè)人認(rèn)為100
為滿潭千。此方法配合CameraFadeAdd使用,只有在CameraFadeAdd前提下借尿,才可以進(jìn)行淡入淡出操作刨晴。
此方法為從本界面淡入到CameraFadeAdd返回的對(duì)象
CameraTexture:根據(jù)提供顏色創(chuàng)建一個(gè)full-screen Texture2D,可為CameraFade所用。(可在
CameraFadeAdd方法中被調(diào)用)
ColorFrom:即刻改變對(duì)象的顏色值然后隨著時(shí)間改變其回原來(lái)的顏色(總的來(lái)說(shuō)路翻,就是對(duì)GUIText
和GUITexture的顏色的淡入淡出效果)狈癞。Color:此屬性代表對(duì)象變化初始值。與audioFrom有異曲
同工之效
ColorTo:隨著時(shí)間改變對(duì)象的顏色組帚桩。同上例一樣亿驾。Color:此屬性代表對(duì)象變化最終值,與audioTo
有異曲同工之效
(注意账嚎,ColorFrom和ColorTo還有后面的ColorUpdate方法的NamedColorValue屬性莫瞬,GuiText和
GuiTexture和3d Text都不支持這個(gè)屬性,當(dāng)我們添加有此屬性的方法的腳本進(jìn)去時(shí)郭蕉,會(huì)提示)
ColorUpdate:跟ColorTo類似疼邀,但花銷的成本較少,此方法在Update方法中被調(diào)用
DrawLine:為OnDrawGizmos() 調(diào)用(注意此方法只能在OnDrawGizmos()和 OnDrawGizmosSelected()中被調(diào)用)召锈;
DrawLineHandles:此方法只能在OnDrawGizmos()和 OnDrawGizmosSelected()中被調(diào)用
同理
DrawPath
DrawPathGizmos
DrawPathHandles
PathLength:返回Vector3s或者Transforms之間的距離長(zhǎng)度旁振。
EaseType:類型枚舉,不同類型及其展示可見(jiàn)http://www.robertpenner.com/easing/easing_demo.html
FadeFrom:即刻改變對(duì)象的的阿爾法值,然后隨著時(shí)間將其阿爾法值變回原值拐袜。如果對(duì)象上有掛載
a Light, GUIText or GUITexture這些組件吉嚣,這些組件將成為被執(zhí)行的對(duì)象。
注:阿爾法值可以粗略理解為對(duì)象的透明度蹬铺,值越小尝哆,透明度越大。
這里的 alpha或者 amount 是變化初值
FadeTo:同上甜攀,alpha或amount是變化終值秋泄。
FadeUpdate :同F(xiàn)adeTo類似,在Update()方法中調(diào)用规阀,提供時(shí)刻改變屬性值的環(huán)境恒序。不局限于
EaseType
FloatUpdate:根據(jù)提供的速度返回兩個(gè)值之間的連續(xù)值。
Hash:用來(lái)創(chuàng)建Hashtables的通用接口谁撼,尤其對(duì)C#開(kāi)發(fā)者有用歧胁。
Init:樹(shù)立起一個(gè)游戲?qū)ο笠苑乐怪袛喈?dāng)一個(gè)初始iTween被添加時(shí)。建行運(yùn)行這個(gè)在每個(gè)你想運(yùn)行
iTween在它的Start()或Awake()方法彤敛。
LookFrom:即刻旋轉(zhuǎn)物體讓其看提供的Vector3或都Transfrom与帆,然后隨時(shí)間旋轉(zhuǎn)回原來(lái)的角度值
注:物體的臉部一般以本地坐標(biāo)(即物體坐標(biāo))的Z軸了赌,臉部朝向方法墨榄,即Z軸指向方法。
LookTo:隨時(shí)間旋轉(zhuǎn)物體讓其臉部朝向所提供的Vector3或Transform位置勿她。
LookUpdate:同LookTo類似袄秩,在Update()方法中調(diào)用。
LoopType :循環(huán)方法的枚舉逢并。三種:
none:不循環(huán)
loop:退回然后重新開(kāi)始
pingPing:來(lái)回?cái)[動(dòng)播放
MoveAdd:隨時(shí)間改變游戲?qū)ο蟮奈恢茫ㄔ磉€有點(diǎn)蒙之剧,感覺(jué)跟MoveBy有點(diǎn)像)amount:是改變物體位置
的一個(gè)值,不是目標(biāo)位置的坐標(biāo)砍聊。
MoveBy:增加提供的坐標(biāo)到游戲?qū)ο蟮奈恢?/p>
MoveFrom:立即改變游戲?qū)ο蟮奈恢脼樘峁┑谋臣冢缓箅S時(shí)間改變游戲?qū)ο笪恢玫匠跏嘉恢?/p>
屬性:movetopath:Boolean值 ,是否自動(dòng)將物體置于Ptah的起始點(diǎn)玻蝌,默認(rèn)值為真
Path:目標(biāo)文件可用路徑編緝器獲得
MoveTo:隨時(shí)間改變游戲?qū)ο蟮奈恢玫教峁┑奈恢?/p>
MoveUpdate:類似于MoveTo蟹肘,在Update()方法中調(diào)用。提供每幀改變屬性值的環(huán)境
Pause:停止iTween 如果一個(gè)iTween以gnoreTimeScale定制且設(shè)為True停止工作
PunchPosition:對(duì)物體的位置添加一個(gè)搖晃的力俯树,使其搖晃最終歸于原來(lái)的位置 其晃動(dòng)大小和方法由
提供的amount(Vector3)決定(方法由Vector3的x,y,z共同決定帘腹,晃動(dòng)大小,由各個(gè)方法的值的大小決定
)
PunchRotation:對(duì)物體的旋轉(zhuǎn)添加一個(gè)搖晃的力许饿,使其旋轉(zhuǎn)最終歸于初始值阳欲。其旋轉(zhuǎn)角度大小和方向由
提供的Vector3決定,建議用單軸而不是整個(gè)Vector3,例如(0球化,1秽晚,0)是繞Y軸旋轉(zhuǎn),角度大小由
Vector3Y軸值大小決定
PunchScale:對(duì)物體的大小比例添加一個(gè)搖晃的力筒愚,使其大小比例變化最終歸于初始值爆惧。其大小比例變
化方向和大小由提供的Vector3決定。例如(0锨能,1扯再,0)是在Y軸方向?qū)ξ矬w大小變化(即變化物體的高)
,大小由該方向的值大小決定
PutOnPath :根據(jù)提供的百分比將游戲物體置于所提供路徑上址遇。(1為百分之百)
PointOnPath:根據(jù)提供的百分比返回一條路徑上的Vector3的位置
RectUpdate:返回一個(gè)RECT在提供的兩個(gè)值之間熄阻,大小變化根據(jù)提供的速度
Resume:恢復(fù)iTweens
RotateAdd:對(duì)游戲物體的旋轉(zhuǎn)角度隨著時(shí)間增加所提供的歐拉角(順時(shí)針旋轉(zhuǎn)。Vector3三個(gè)值解析:
X,Y,Z各代表圍繞哪個(gè)軸轉(zhuǎn)動(dòng)倔约。其轉(zhuǎn)動(dòng)角度就是X秃殉,Y,Z、的值的大小浸剩。amount:歐拉角大屑鼐)
RotateBy:把提供的值乘以360,然后隨著時(shí)間旋轉(zhuǎn)游戲物體的角度按計(jì)算得的值绢要。例 如(0吏恭,1,0)就
是繞Y軸旋轉(zhuǎn)360度重罪。 順時(shí)針旋轉(zhuǎn)
RotateFrom:立即改變游戲物體角度的歐拉角樱哼,然后隨著時(shí)間旋轉(zhuǎn)回原來(lái)的角度,屬性提供的歐拉角為
變化初始值
RotateTo:旋轉(zhuǎn)游戲物體角度到我們所提供的歐拉角角度剿配。屬性提供的歐拉角為變化終結(jié)值
RotateUpdate:跟RotateTo類似搅幅,該方法在Update中被調(diào)用,提供一個(gè)可改變屬性值的環(huán)境呼胚。不用局限
于EaseType
ScaleAdd:隨著時(shí)間根據(jù)提供的amount(Vector3)增加游戲物體的大小
ScaleBy:隨著時(shí)間變形游戲物體茄唐,游戲物體最終變形大小由我們提供的amount(Vector3)值決定 算法:
最終變形大小=游戲物體初始的sacle * 我們提供的 amount值
ScaleFrom:立即改變游戲物體的比例大小,然后隨時(shí)間返回游戲物體原本的大小蝇更。amount:為物體變形
的初始大小
ScaleTo:隨著時(shí)間改變物體的比例大小到我們提供的Scale大小(scale值)
ScaleUpdate:跟ScaleTo類似沪编,此方法用于Update中,提供可改變屬性值的環(huán)境 簿寂,不用局限于EaeType
ShakePosition:根據(jù)提供的amount衰減其值隨機(jī)搖動(dòng)游戲物體的位置漾抬,其晃動(dòng)大小和方向由提供的
amount(Vector3)決定(方向根據(jù)Vector3隨機(jī),晃動(dòng)大小常遂,由各個(gè)方向的值的大小決定)
ShakeRotation:根據(jù)提供的amount衰減其值隨機(jī)擺動(dòng)旋轉(zhuǎn)游戲物體的角度 纳令。Vector3三個(gè)值解析:
X,Y,Z各代表圍繞哪個(gè)軸旋轉(zhuǎn)。其轉(zhuǎn)動(dòng)角度就是X,Y,Z平绩、的值的大小
ShakeScale:根據(jù)提供的amount衰減其值隨機(jī)擺動(dòng)改變游戲物體的大小圈匆。其大小比例變化方向和大小由
提供的Vector3決定。例如(0捏雌,1跃赚,0)是在Y軸方向?qū)ξ矬w大小變化(即變化物體的高),大小由該方向
的值大小決定
stab:播放AudioClip一次性湿,不用手動(dòng)加載AudioSource組件
Stop:停止iTweens
Stop By Name:停止指定名字的iTween
ValueTo:返回一個(gè)插值在兩件值之間的回調(diào)函數(shù)的值
Returns a value to a callback method interpolated between the supplied 'from’ and 'to’
values for application as desired. Requires an 'onupdate’ callback that accepts the same
type as the supplied 'from’ and 'to’ properties.
Vector2Update:Returns a Vector2 that is eased between a current and target value by the
supplied speed.
*Vector2Update(Vector2 currentValue, Vector2 targetValue, float speed) : Vector2
Vector3Update: Returns a Vector3 that is eased between a current and target value by the
supplied speed.
*Vector3Update(Vector3 currentValue, Vector3 targetValue, float speed) : Vector3
iTween介紹和用法
一.iTween 介紹
iTween是一個(gè)動(dòng)畫庫(kù),作者創(chuàng)建它的目的就是最小的投入實(shí)現(xiàn)最大的產(chǎn)出.讓你做開(kāi)發(fā)更輕松,用它可以輕松實(shí)現(xiàn)各種動(dòng)畫,晃動(dòng),旋轉(zhuǎn),移動(dòng),褪色,上色,控制音頻等等
二.iTween 原理
iTween的核心是數(shù)值插值纬傲,簡(jiǎn)單說(shuō)就是給iTween兩個(gè)數(shù)值(開(kāi)始值,結(jié)束值)肤频,它會(huì)自動(dòng)生成一些中間值叹括,大概像這樣子, 開(kāi)始值-> 中間值 -> 中間值 …. -> 結(jié)束值。
這里的數(shù)值可以理解為: 數(shù)字宵荒,坐標(biāo)點(diǎn)汁雷,角度,物體大小报咳,物體顏色侠讯,音量大小 等
三.iTween 下載: 從官網(wǎng)http://itween.pixelplacement.com
主要文件有兩個(gè)iTween.cs 和 iTweenPath.unitypackage(編輯路徑才需要這個(gè)包)
四.如何將iTween 加入項(xiàng)目:
在項(xiàng)目中建立Plugins目錄, 然后將下載的iTween.cs放到Plugins目錄即可.
如果需要編輯路徑, 使用import package->custom package菜單功能加入iTweenPath.unitypackage
五.幾種效果演示
六.示例代碼:
物體移動(dòng)
iTween.MoveTo(target, iTween.Hash("position", destPos, "easetype", easeType));數(shù)值過(guò)渡
iTween.ValueTo(gameObject, iTween.Hash(
"from", y,
"to", toY,
"easetype", easeType,
"loopType", loopType,
"onupdate", "onupdate",
"time", tm
));-
振動(dòng)
iTween.ShakePosition(target, Vector3(0, 0.1, 0), 1);4. 按路徑移動(dòng) var path = GameObject.Find("Plane").GetComponent("iTweenPath").GetPath("myPath"); iTween.MoveTo(gameObject, iTween.Hash(//"position", Vector3(0, 0, 0), "path", path, "time", 20, "easetype", "linear"));
六.路徑編輯
將iTweenPath.cs拖至某個(gè)游戲?qū)ο笊? 這個(gè)游戲?qū)ο蟮木蜁?huì)多出如下屬性,
下圖表示路徑由5個(gè)節(jié)點(diǎn)組成, 路徑名稱為myPath
-
可以手工填寫節(jié)點(diǎn)坐標(biāo)暑刃,也可以在場(chǎng)景中調(diào)整節(jié)點(diǎn)坐標(biāo)