Itween教程

本帖最後由 yogi07 於 2015-3-21 22:10 編輯

tween:在....之間
itween:完成補間動畫(所謂補間動畫又叫做中間幀動畫,漸變動畫,只要建立起始和結束的畫面,中間部分由軟件自動生成
優點:
  • 免費
  • 高效
  • 簡潔
缺點:
  • 對win8App不支持(win8App不支持Hashtable)
插件:
  • iTween:基本包
  • iTween Visual Editor 擴展包(包含基本包)推薦
運行示例:
  • 彈簧運動
  • 顏色漸變
  • 路徑運動
官方示例:
  • 拋物線運動
  • 變換GUI
  • 路徑
  • 網格運動
  • 和物理運動結合
  • 在地形上運動
  • 移動攝像機
  • 隨機路徑
  • 路標使用和使用速度
  • 補間音效
  • 路徑移動+轉向變換(非平移)
層次圖:
  • 音效
  • 物體
    • 位移
    • 旋轉
    • 顏色
  • 攝像機
    • 效果
itween原理:
  • 單例模式
  • 每一次調用,不同的變化類型,自動給gameobject增加一個itween組件
  • 同一個變化類型,使用同一個itween組件,組件的id屬性不同
  • 不能多次調用
  • 在調用之前,先檢查同功能的組件是否存在
  • 回調機制採用SendMessage方式
調用示例:
        iTween.MoveTo(this.gameObject, new Vector3(5, 5, 5), 5);
        iTween.MoveTo(this.gameObject, iTween.Hash("y", 3, "time", 3, "delay", 1, "looptype", iTween.LoopType.pingPong));

        增加一個itween組件,後面的會覆蓋前面的,起作用的是第二句代碼        
        iTween.ColorTo(preobj, Color.white, 0.5f);
        新增加一個新的itween組件


動畫方式枚舉:( http://www.robertpenner.com/easing/easing_demo.html     
   平方
  • easeInQuad
  • easeOutQuad
  • easeInOutQuad
    立方
  • easeInCubic
  • easeOutCubic
  • easeInOutCubic
    4次方
  • easeInQuart
  • easeOutQuart
  • easeInOutQuart
    5次方
  • easeInQuint
  • easeOutQuint
  • easeInOutQuint
    正弦
  • easeInSine
  • easeOutSine
  • easeInOutSine
    2的10次方
  • easeInExpo
  • easeOutExpo
  • easeInOutExpo
    平方根
  • easeInCirc
  • easeOutCirc
  • easeInOutCirc
    線性
  • linear
    彈簧
  • spring
    反彈
  • easeInBounce
  • easeOutBounce
  • easeInOutBounce
    後退
  • easeInBack
  • easeOutBack
  • easeInOutBack     
鬆緊帶
  • easeInElastic
  • easeOutElastic
  • easeInOutElastic
動畫曲線:
    easyIn:淡入
    easyOut:淡出
    easyInOut:淡入淡出
 
 
 
用於循環的枚舉類型:
·         none = Do not loop.
        不循環
·         loop = Rewind and replay.
        循環
·         pingPong = Ping pong the animation back and forth.
        往復

API:

後綴名區別 ***From 當前值立即變成目標值,並逐漸緩動成最初值
***To 從當前值逐漸緩動成目標值
***Update 同To,但是在使用Update函數時會令人難以置信的提高性能,或類似循環的情況下涉及“live”設置改變值。不在使用EaseType
3大事件 onstart 動畫開始觸發事件
onstarttarget 事件通過消息加載將發送給的對象
onstartparams 發送消息時傳遞的參數
onupdate 動畫中觸發事件
onupdatetarget 事件通過消息加載將發送給的對象
onupdateparams 發送消息時傳遞的參數
oncomplete 動畫結束觸發事件
oncompletetarget 事件通過消息加載將發送給的對象
oncompleteparams 發送消息時傳遞的參數
公共屬性 name 根據獨立的名字用於停止iTweens
ignoretimescale 設置爲true將會允許動畫繼續當前的時間,這個在遊戲通過設置Time.timeScale=0之後暫停遊戲後的菜單動畫很有用
easetype 動畫運動曲線枚舉
looptype 循環方式枚舉
time 動畫完成時間
delay 開始動畫之前等待的時間
From-To方法 AudioFrom 音頻和音量
AudioTo
AudioUpdate
CameraFadeFrom 攝像機漸隱的數量(透明度)
CameraFadeTo
ColorFrom 顏色
ColorTo
ColorUpdate
FadeFrom 遊戲對象的alpha值;如果附加的組件是light,guitext或guitexture,將會是變成動畫的目標
FadeTo
FadeUpdate
LookFrom 隨着時間旋轉一個遊戲對象監視着提供的Transform或Vector3
LookTo
LookUpdate
MoveFrom 移動:隨着時間改變遊戲對象的位置到提供的目標點
MoveTo
MoveUpdate
MoveAdd 移動增量Vector3
MoveBy
RotateFrom 旋轉:隨着時間在角度上旋轉游戲對象到提供的歐拉角角度
RotateTo
RotateUpdate
RotateAdd 旋轉增量Vector3
RotateBy 旋轉增量Vector3*360
ScaleFrom 縮放:隨着時間改變物體的縮放
ScaleTo
ScaleUpdate
ScaleAdd 縮放增量Vector3,原來的縮放+Vector3
ScaleBy 縮放倍數Vector3,原來的縮放*Vector3
攝像機 CameraFadeAdd 創建一個遊戲對象(如果不存在)在提供的深度,用於模擬攝像機的褪色
CameraFadeDepth 改變攝像機褪色的深度
CameraFadeDestroy 移除和銷燬一個攝像機的褪色
CameraFadeSwap 改變攝像機褪色的紋理
CameraTexture 使用CameraFade創建並返還一個全屏的Texture2D
動畫控制 Hash 創建哈希表
Init 設置遊戲對象當一個初始化被添加時避免停頓
Pause 暫停itween
Resume 從新開始iTween
Stop 停止iTweens
StopByName 根據名字停止iTweens
其他方法 ValueTo 正如應用程序期望的返回一個在提供的”from”和”to”之間的插值給回調方法.需要”onupdate”回調
Count 返回iTweens的整數量
EaseType 緩動類型
LoopType 循環的枚舉類型
Stab 基於提供的音量,音頻,和任何跟隨的延遲來播放音頻剪輯.音頻源是可選的,因爲iTween將會提供一個
用於調式 DrawLine 當調用OnDrawGizmos()函數時,他會通過提供的Vector3或Transforms數組畫一條線
DrawLineGizmos 使用Gizmos.DrawLine()通過提供的Vector3s或Transforms數組畫一條線
DrawLineHandles 利用Handles.Drawline()通過提供的Vector3s或Transforms數組畫一條線。
DrawPath 當調用OnDrawGizmos()時,他會通過Vector3或Transforms數組繪製一個曲線路徑
DrawPathGizmos 使用Gizmos.DrawLine()通過Vector3s或Transforms數組繪製一個曲線路徑
DrawPathHandles 利用Handles.DrawLine()通過提供的Vector3s或Transforms繪製一個曲線路徑
震動 PunchPosition 使用一個震動的力量給遊戲對象的位置使他晃動到他的原始位置
PunchRotation 使用一個震動的力量給遊戲對象的旋轉使他晃動到他的原始旋轉
PunchScale 使用一個震動的力量給遊戲對象的縮放使他晃動到他的原始縮放
ShakePosition 隨着時間通過一個遞減數量隨機的震動遊戲對象的位置
ShakeRotation 隨着時間通過一個遞減數量隨機的震動遊戲對象的旋轉
ShakeScale 隨着時間通過一個遞減數量隨機的震動遊戲對象的縮放
路徑 PathLength 返回通過Vector3或Transforms數組繪製的曲線路徑的長度
PutOnPath 根據提供的百分比放置遊戲對象的路徑
PointOnPath 根據提供的百分比返回一個路徑上的Vector3位置
差值運算 FloatUpdate 根據提供的速度返回一個float緩動在當前和目標值之間;speed=1表示單位時間內達到終點
RectUpdate 通過提供的加速度返回一個用於緩衝當前和目標值之間的一個矩形;speed=1表示單位時間內達到終點
Vector2Update 通過提供的加速度返回一個用於緩衝當前和目標值之間的一個Vector2;speed=1表示單位時間內達到終點
Vector3Update 通過提供的加速度返回一個用於緩衝當前和目標值之間的一個Vector3;speed=1表示單位時間內達到終點
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章