iTween是一個動畫庫,作者創建它的目的就是最小的投入實現最大的產出.讓你做開發更輕松,用它可以輕松實現各種動畫,晃動,旋轉,移動,褪色,上色,控制音頻等等 到官網看看 http://itween.pixelplacement.com
主要文件有iTween.cs http://code.google.com/p/itween/downloads/list
和 iTweenPath.unitypackage(編輯路徑才需要這個包)
文檔地址 http://itween.pixelplacement.com/documentation.php
AudioFrom:pitch和volum屬性提供的是初始值
audioTo: pitch和volum屬性提供的是終結值
audioUpdate:pitch和volum屬性提供的是終結值 此方法用于Update()方法中
CameraFadeAdd:創建一個對象可以模擬攝相機的淡入淡出。
CameraFadeDepth:改變攝相機的淡入淡出深度(對象為CameraFadeAdd返回對象)
CameraFadeDestroy:刪除攝相機的淡入淡出效果(對象為CameraFadeAdd返回對象)
CameraFadeSwap:改變攝相機的淡入淡出背景圖(對象為CameraFadeAdd返回對象)
CameraFadeFrom:立即改變攝相淡入淡出的透明度然后隨時間返回.amount:當執行淡入淡出時,
其透明度的大小。(透明度越大,淡入淡出越快,個人認為100為滿。此方法配合CameraFadeAdd
使用,只有在CameraFadeAdd前提下,才可以進行淡入淡出操作。此方法為從CameraFadeAdd返回
的對象出淡出到原來的界面。
CameraFadeTo:隨時間改變攝相機淡入淡出透明度,(透明度越大,淡入淡出越快,個人認為100
為滿。此方法配合CameraFadeAdd使用,只有在CameraFadeAdd前提下,才可以進行淡入淡出操作。
此方法為從本界面淡入到CameraFadeAdd返回的對象
CameraTexture:根據提供顏色創建一個full-screen Texture2D,可為CameraFade所用。(可在
CameraFadeAdd方法中被調用)
ColorFrom:即刻改變對象的顏色值然后隨著時間改變其回原來的顏色(總的來說,就是對GUIText
和GUITexture的顏色的淡入淡出效果)。Color:此屬性代表對象變化初始值。與audioFrom有異曲
同工之效
ColorTo:隨著時間改變對象的顏色組。同上例一樣。Color:此屬性代表對象變化最終值,與audioTo
有異曲同工之效
(注意,ColorFrom和ColorTo還有后面的ColorUpdate方法的NamedColorValue屬性,GuiText和
GuiTexture和3d Text都不支持這個屬性,當我們添加有此屬性的方法的腳本進去時,會提示)
ColorUpdate:跟ColorTo類似,但花銷的成本較少,此方法在Update方法中被調用
DrawLine:為OnDrawGizmos() 調用(注意此方法只能在OnDrawGizmos()和 OnDrawGizmosSelected()中被調用);
DrawLineHandles:此方法只能在OnDrawGizmos()和 OnDrawGizmosSelected()中被調用
同理
DrawPath
DrawPathGizmos
DrawPathHandles
PathLength:返回Vector3s或者Transforms之間的距離長度。
EaseType:類型枚舉,不同類型及其展示可見http://www.robertpenner.com/easing/easing_demo.html
FadeFrom:即刻改變對象的的阿爾法值,然后隨著時間將其阿爾法值變回原值。如果對象上有掛載
a Light, GUIText or GUITexture這些組件,這些組件將成為被執行的對象。
注:阿爾法值可以粗略理解為對象的透明度,值越小,透明度越大。
這里的 alpha或者 amount 是變化初值
FadeTo:同上,alpha或amount是變化終值。
FadeUpdate :同FadeTo類似,在Update()方法中調用,提供時刻改變屬性值的環境。不局限于
EaseType
FloatUpdate:根據提供的速度返回兩個值之間的連續值。
Hash:用來創建Hashtables的通用接口,尤其對C#開發者有用。
Init:樹立起一個游戲對象以防止中斷當一個初始iTween被添加時。建行運行這個在每個你想運行
iTween在它的Start()或Awake()方法。
LookFrom:即刻旋轉物體讓其看提供的Vector3或都Transfrom,然后隨時間旋轉回原來的角度值
注:物體的臉部一般以本地坐標(即物體坐標)的Z軸,臉部朝向方法,即Z軸指向方法。
LookTo:隨時間旋轉物體讓其臉部朝向所提供的Vector3或Transform位置。
LookUpdate:同LookTo類似,在Update()方法中調用。
LoopType :循環方法的枚舉。三種:
none:不循環
loop:退回然后重新開始
pingPing:來回擺動播放
MoveAdd:隨時間改變游戲對象的位置(原理還有點蒙,感覺跟MoveBy有點像)amount:是改變物體位置
的一個值,不是目標位置的坐標。
MoveBy:增加提供的坐標到游戲對象的位置
MoveFrom:立即改變游戲對象的位置為提供的,然后隨時間改變游戲對象位置到初始位置
屬性:movetopath:Boolean值 ,是否自動將物體置于Ptah的起始點,默認值為真
Path:目標文件可用路徑編緝器獲得
MoveTo:隨時間改變游戲對象的位置到提供的位置
MoveUpdate:類似于MoveTo,在Update()方法中調用。提供每幀改變屬性值的環境
Pause:停止iTween 如果一個iTween以gnoreTimeScale定制且設為True停止工作
PunchPosition:對物體的位置添加一個搖晃的力,使其搖晃最終歸于原來的位置 其晃動大小和方法由
提供的amount(Vector3)決定(方法由Vector3的x,y,z共同決定,晃動大小,由各個方法的值的大小決定
)
PunchRotation:對物體的旋轉添加一個搖晃的力,使其旋轉最終歸于初始值。其旋轉角度大小和方向由
提供的Vector3決定,建議用單軸而不是整個Vector3,例如(0,1,0)是繞Y軸旋轉,角度大小由
Vector3Y軸值大小決定
PunchScale:對物體的大小比例添加一個搖晃的力,使其大小比例變化最終歸于初始值。其大小比例變
化方向和大小由提供的Vector3決定。例如(0,1,0)是在Y軸方向對物體大小變化(即變化物體的高)
,大小由該方向的值大小決定
PutOnPath :根據提供的百分比將游戲物體置于所提供路徑上。(1為百分之百)
PointOnPath:根據提供的百分比返回一條路徑上的Vector3的位置
RectUpdate:返回一個RECT在提供的兩個值之間,大小變化根據提供的速度
Resume:恢復iTweens
RotateAdd:對游戲物體的旋轉角度隨著時間增加所提供的歐拉角(順時針旋轉。Vector3三個值解析:
X,Y,Z各代表圍繞哪個軸轉動。其轉動角度就是X,Y,Z、的值的大小。amount:歐拉角大小)
RotateBy:把提供的值乘以360,然后隨著時間旋轉游戲物體的角度按計算得的值。例 如(0,1,0)就
是繞Y軸旋轉360度。 順時針旋轉
RotateFrom:立即改變游戲物體角度的歐拉角,然后隨著時間旋轉回原來的角度,屬性提供的歐拉角為
變化初始值
RotateTo:旋轉游戲物體角度到我們所提供的歐拉角角度。屬性提供的歐拉角為變化終結值
RotateUpdate:跟RotateTo類似,該方法在Update中被調用,提供一個可改變屬性值的環境。不用局限
于EaseType
ScaleAdd:隨著時間根據提供的amount(Vector3)增加游戲物體的大小
ScaleBy:隨著時間變形游戲物體,游戲物體最終變形大小由我們提供的amount(Vector3)值決定 算法:
最終變形大小=游戲物體初始的sacle * 我們提供的 amount值
ScaleFrom:立即改變游戲物體的比例大小,然后隨時間返回游戲物體原本的大小。amount:為物體變形
的初始大小
ScaleTo:隨著時間改變物體的比例大小到我們提供的Scale大小(scale值)
ScaleUpdate:跟ScaleTo類似,此方法用于Update中,提供可改變屬性值的環境 ,不用局限于EaeType
ShakePosition:根據提供的amount衰減其值隨機搖動游戲物體的位置,其晃動大小和方向由提供的
amount(Vector3)決定(方向根據Vector3隨機,晃動大小,由各個方向的值的大小決定)
ShakeRotation:根據提供的amount衰減其值隨機擺動旋轉游戲物體的角度 。Vector3三個值解析:
X,Y,Z各代表圍繞哪個軸旋轉。其轉動角度就是X,Y,Z、的值的大小
ShakeScale:根據提供的amount衰減其值隨機擺動改變游戲物體的大小。其大小比例變化方向和大小由
提供的Vector3決定。例如(0,1,0)是在Y軸方向對物體大小變化(即變化物體的高),大小由該方向
的值大小決定
stab:播放AudioClip一次,不用手動加載AudioSource組件
Stop:停止iTweens
Stop By Name:停止指定名字的iTween
ValueTo:返回一個插值在兩件值之間的回調函數的值
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是一個動畫庫,作者創建它的目的就是最小的投入實現最大的產出.讓你做開發更輕松,用它可以輕松實現各種動畫,晃動,旋轉,移動,褪色,上色,控制音頻等等
二.iTween 原理
iTween的核心是數值插值,簡單說就是給iTween兩個數值(開始值,結束值),它會自動生成一些中間值,大概像這樣子, 開始值-> 中間值 -> 中間值 …. -> 結束值。
這里的數值可以理解為: 數字,坐標點,角度,物體大小,物體顏色,音量大小 等
三.iTween 下載: 從官網http://itween.pixelplacement.com
主要文件有兩個iTween.cs 和 iTweenPath.unitypackage(編輯路徑才需要這個包)
四.如何將iTween 加入項目:
在項目中建立Plugins目錄, 然后將下載的iTween.cs放到Plugins目錄即可.
如果需要編輯路徑, 使用import package->custom package菜單功能加入iTweenPath.unitypackage
五.幾種效果演示
六.示例代碼:
物體移動
iTween.MoveTo(target, iTween.Hash("position", destPos, "easetype", easeType));數值過渡
iTween.ValueTo(gameObject, iTween.Hash(
"from", y,
"to", toY,
"easetype", easeType,
"loopType", loopType,
"onupdate", "onupdate",
"time", tm
));-
振動
iTween.ShakePosition(target, Vector3(0, 0.1, 0), 1);4. 按路徑移動 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拖至某個游戲對象上, 這個游戲對象的就會多出如下屬性,
下圖表示路徑由5個節點組成, 路徑名稱為myPath
-
可以手工填寫節點坐標,也可以在場景中調整節點坐標