iTween學習記錄


閑來無事,學習了iTween,很久之前就對這個插件聽說多,而且是很牛的一個插件,在官網能免費下載到的。http://itween.pixelplacement.com

 

例如我想讓一個物體的x坐標增加2個單位來回的運動,並且延遲0.1秒后再開始。就可以這樣寫了:

 iTween.MoveBy(gameObject, iTween.Hash("x", 2, "easeType", iTween.EaseType.easeInCubic, "loopType", iTween.LoopType.pingPong, "delay", .1));

因為iTween也有哈希表,所以我們又可以這樣寫:

 

 Hashtable ht = new Hashtable();
        ht.Add("x",2);
        ht.Add("easeType",iTween.EaseType.easeInCubic);
        ht.Add("loopType",iTween.LoopType.pingPong);
        ht.Add("delay",.1f);

        iTween.MoveBy(gameObject,ht);

其實這2種效果都是一樣的。  還有一點要注意的。其實還可以換成這樣

 Hashtable ht = new Hashtable();
        ht.Add("x",2);
        ht.Add("easeType","easeInCubic");
        ht.Add("loopType","pingPong");
        ht.Add("delay",.1f);

        iTween.MoveBy(gameObject,ht);

我之所以不這樣寫是因為我擔心easytTpe中的值會被我寫錯了,當我們在寫代碼的時候加上""的時候想寫的東西就是沒有提示的(我是在vs中)如果我寫上的東西沒有"",他就會有提示的,所以我一般不這樣寫。個人愛好而已,這個不重要!

 

上面接觸到幾個比較重要的,我來解釋下:

1.MoveBy這個是移動的函數(當然還有很多像這樣的函數,我再次暫時不做解釋)

2.delay 這個是延遲的值

3.loopType這個是運動的類型(有來回運動(pingpong(我們可以理解為和乒乓球一樣的運動方式,過去了,又從那返回來,一直重復)),重復運動(loop(理解為當到達后立即返回到開始的位置,再次運動過去。一直重復)),只運動一次(none)(到達后就停止在那))

4.easyType這個很重要。像先加速后減速,勻速....。要看效果的可以看看這里就會明白了

www.robertpenner.com/easing/easing_demo.html

 

下面加上其他的東西.

緩動
easeIn方法控制補間如何從開始到最高速度
easeOut方法控制補間減速並停在目標位置
easeInOut同時控制上述兩者

可以干的事情
控制音頻:AudioFrom、AudioTo、AudioUpdate、Stab
控制相機:CameraFadeAdd、CameraFadeDepth、CameraFadeDestroy、CameraFadeSwap、CameraFadeFrom、CameraFadeTo、CameraTexture
變色控制:ColorFrom、ColorTo、ColorUpdate
繪制相關:DrawLine、DrawLineGizmos、DrawLineHandles、DrawPath、DrawPathGizmos、DrawPathHandles
淡入淡出:FadeFrom、FadeTo、FadeUpdate
視角控制:LookFrom、LookTo、LookUpdate、LookType
移動控制:MoveAdd、MoveBy、MoveFrom、MoveTo、MoveUpdate
路徑操作:PutOnPath、PointOnPath
旋轉操作:RotateAdd、RotateBy、RotateFrom、RotateTo、RotateUpdate
縮放操作:ScaleAdd、ScaleBy、ScaleFrom、ScaleTo、ScaleUpdate
震動控制:ShakePosition、ShakeRotation、ShakeScale
其他:Count、PathLength、EaseType(衰減類型)、FloatUpdate、Hash、Init、Pause、Resume、Stop、StopByName、PunchPosition、PunchRotation、PunchScale、RectUpdate、ValueTo、Vector2Update、Vector3Update

 

iTween.MoveTo(): 將模型移動到目標位置,它的底層函數是通過動態的修改模型每一幀的transform.position完成的,所以它不會出現誤差。

iTween.MoveFrom():是將模型從目標位置移動到原始位置。

iTween.MoveAdd() 和iTween.MoveBy()底層實現一樣,處理移動時采用的是transform.Translate平移,這樣在處理移動的時候會出現一些誤差,但是效果好點。

 .......................................................................................補充........................................................................

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方法中被調用


Count:返回iTweens的數量,返回類型為integer

[unity3d] iTween文檔解析(2) (iTween方法和屬性):

 

 

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

在此謝謝:   sgfswen

 

 

如要轉載,還望表明出處。謝謝.....
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM