TweenLite參數用法中文介紹

TweenLite是一個緩動的類包,功能強大,而且易於使用,爲了更多的(E文欠佳的、初學的)朋友瞭解它,使用它,特此翻譯了一下TweenLite類文檔中的說明文件,主要是對參數的說明,但願對你們有用。數組

ACTIONSCRIPT 語言版本: 3.0 (AS2 版也有提供) 更新 及更多文檔請訪問:函數

http://www.tweenlite.com/
http://www.greensock.com/tweenlite/
TweenMax參數說明
TweenLiteFilter參數說明
工具

描述:動畫

緩動。 咱們都在作。咱們不少人都知道除了 Adobe’s Tween 類以外,還有不少更好的動畫引擎,(好比 Tweener).每種引擎都有它們各自的優缺點。翻譯

最近幾年,爲了獲得一個更緊湊的,跑得更快,效率更高的引擎,我建立了TweenLite(我沒法接受其它的一些引擎帶來的文件尺寸上的負擔).它 很快就融入到個人全部工做中。我告訴其它人,讓你們可以從中獲益,最終,我將它發佈了出來。在過去的幾年中,TweenLite愈來愈受歡迎,超乎了個人 想像.設計

基於此,我又添加了一些新的功能,而且儘可能保持這個文件的尺寸,讓它小於3K。orm

TweenFilterLite 擴充了 TweenLite 而且加入了濾鏡緩動,包含了ColorMatrixFilter的一些效果,好比飽和、對比、增亮、色調,甚至是着色,但文件的尺寸始終沒有超過3K。與 TweenLite 的作法類似,提供有AS2版和AS3版的類包下載。對象

TweenMax 比 TweenFilterLite 增長了更多的特性,包含 bezier緩動,暫停/恢復,順序執行等等。(見 www.TweenMax.com)blog

我猜你會想「若是這個是‘輕量級的’,那麼它必定會丟掉不少特性,讓我用的時候會有點擔憂」。這種想法是對的,在這裏缺乏一些其它緩動引擎所包含的 特效,可是我能夠確定的說,在過去幾年個人工程(不少獲獎的flash程序以及500強企業的項目中)中,我幾乎一直都在用它,而它從沒有讓我失望過。ip

我還真沒發現過我還須要其它的功能。你能夠對任何的屬性(包括DisplayObject對象的音量和顏色)使用緩動函數,內置的延遲時間,回調函 數,以及傳遞參數給這些回調函數,甚至根據數組進行緩動,通通只在一行代碼中完成。若是你須要更多的特效,你能夠裝上TweenFilterLite 或者 TweenMax來用用。

我也歷來沒有發現比這個更快的引擎。不一樣引擎執行效率的比較,請訪問 http://blog.greensock.com/tweeing-speed-test/ .

TweenLite參數說明:

$target : Object – 做爲目標的對象, MovieClip或者其它對象
$duration : Number – 動畫的時間長度(單位:秒)
$vars : Object –對象,經過屬性值,來存貯各類屬性參數用於緩動。(若是你使用TweenLite.from() 方法,這裏的參數表示緩動的初始值)
該對象所具備的屬性:

alpha: alpha 目標對象應該完成 (或開始,當使用TweenLite.from()時)的透明度級別.若是 target.alpha是1,當緩動被執行的時候,你指定參數爲 0.5,它將把透明度從 1 緩動到0.5.
x: 改變 MovieClip的 x 位置,把這個值設置成你但願的 MovieClip的結束位置(若是你使用的是 TweenLite.from()這個值表示開始位置).
( y scaleX scaleY rotation 等屬性再也不重複說明)
特別的屬性 (可選的):

delay : Number – 延遲緩動 (以秒爲單位).
ease : Function – 緩動函數. 例如,fl.motion.easing.Elastic.easeOut函數。默認的是 Regular.easeOut函數。
easeParams : Array – 用來存貯緩動公式所須要的額外數據. 當使用Elastic公式而且但願控制一些額外的參數,好比放大係數和緩動時間。大多數的緩動公式是不須要參數的,所以,你不須要給其它的緩動公式傳遞參數。
autoAlpha : Number – 用它來代替 alpha屬性,能夠得到一些副加的效果,好比當 alpha 值緩動到 0時,自動將visible 屬性改成 false。當緩動開始前,autoAlpha 大於 0時,它將會把visible 屬性變成 true 。
visible : Boolean – 在緩動結束時,想要指定 DisplayObject 的 visible屬性,請使用這個參數。
volume : Number – 對 soundTransform(MovieClip/SoundChannel/NetStream等)對象中的volume屬性(音量大小)進行緩動
tint : Number – 改變 DisplayObject的顏色,設置一個16進制顏色值以後,當緩動結束時,目標對象將被變成這個顏色,(若是使用的是 TweenLite.from(),這個值將表示目標對象開始緩動時的顏色)。舉個例子,顏色值能夠設定爲:0xFF0000。
removeTint : Boolean – 要移除 DisplayObject 顏色,將這個參數設成true 。
frame : Number – 將 MovieClip 緩動到指幀頻。
onStart : Function –在緩動開始時想要執行某個函數,就將函數的引用(一般是函數名)放到這裏。若是緩動是帶延遲的,那麼在緩動開始前該函數不會被執行。
onStartParams : Array – 爲緩動開始時要執行的函數傳遞參數。(可選的)
onUpdate : Function –緩動過程當中,每次更新時調用這裏指定的函數(緩動開始後,每一幀被觸發一次),
onUpdateParams : Array – 給 onUpdate 參數指定的函數傳遞參數 (可選的)
onComplete : Function – 緩動結束時執行的函數。
onCompleteParams : Array – 給 onComplete 參數指定的函數傳遞參數(可選的)
persist : Boolean – 值爲 true 時,TweenLite實例將不會自動被系統的垃圾收集器給收走。可是當新的緩動出現時,它仍是會被重寫(overwritten)默認值爲false.
renderOnStart : Boolean – 若是你使用帶有延遲緩動的TweenFilterLite.from() ,而且阻止緩動的渲染(rendering)效果,直到緩動真正開始,將這個值設爲 true.默認狀況下該值爲 false,這會讓渲染效果當即被執行,甚至是在延遲的時間還沒到以前。
overwrite : int –當前的緩動被建立之後,經過這個參數能夠限制做用於同一個對象的其它緩動,可選的參數值有:
0 (沒有):沒有緩動被重寫。這種模式下,運行速度是最快的,可是須要注意避免建立一些控制相同屬性的緩動,不然這些緩動效果間將出現衝突。
1 (所有): (這是默認值,除非 OverwriteManager.init()
被調用過)對於同一對象的全部緩動在建立時將會被徹底的覆蓋掉。
TweenLite.to(mc,1,{x:100,y:200});
TweenLite.to(mc,1,{x:300,delay:2}); //後建立的緩動將會覆蓋掉先前建立的緩動,(能夠起到這樣的做用:緩動進行到一半時被中斷,執行新的緩動 譯者注)
- 2 (自動): (當 OverwriteManager.init() 被執行後,會根據具體的屬性值進行選擇)只覆蓋對同一屬性的緩動。
TweenLite.to(mc,1,{x:100,y:200});
TweenLite.to(mc,1,{x:300}); //only "x" 屬性的緩動將被覆蓋
- 3 (同時發生): 緩動開始時,覆蓋所有的緩動。
TweenLite.to(mc,1,{x:100,y:200});
TweenLite.to(mc,1,{x:300,delay:2});?//不會覆蓋先前的緩動,由於每二個緩動開始時,第一個緩動已經結束了。
舉例:
將實例名爲 clip_mc 的 MovieClip 透明度降到 50% (0.5) ,並將它 x軸位置移動到 120 ,將音量將到 0,緩動總共用時 1.5 秒,代碼以下:

import gs.TweenLite;
TweenLite.to(clip_mc, 1.5, {alpha:0.5, x:120, volume:0});

若是但願使用更高級的緩動函數在 5 內,將 alpha 變到 0.5,將 x 移動 到 120,使用「easeOutBack」 彈性函數,緩動總體延遲 2秒發生,而且在緩動結束時,執行 「onFinishTween」函數,而且爲這個函數傳遞幾個參數,(一個數值 5 以及對 clip_mc 的引用),代碼以下:

import gs.TweenLite;
import fl.motion.easing.Back;
TweenLite.to(clip_mc, 5, {alpha:0.5, x:120, ease:Back.easeOut, delay:2, onComplete: onFinishTween, onCompleteParams:[5, clip_mc]});
function onFinishTween(argument1:Number, argument2:MovieClip):void {
trace("The tween has finished! argument1 = " + argument1 + ", and argument2 = " + argument2);
}

若是你的舞臺上的 MovieClip已經停在了它的結束位置,你只想讓它花上5秒種回到這個位置,(只須要改變 y屬性,比當前位置高 100 像素的位置,讓它從那裏下落),代碼以下(此次使用的是 TweenLite.from 譯者注):

import gs.TweenLite;
import fl.motion.easing.Elastic;
TweenLite.from(clip_mc, 5, {y:"-100", ease:Elastic.easeOut});

說明:

TweenLite類會讓你的 Flash 文件增長 3kb大小。
給參數值加上引號,表示對指定的屬性進行相應操做。好比,使用 TweenLite.to(mc, 2, {x:」-20″}); 它將 mc.x 向左移動 20像素,與此相同效果的代碼是:TweenLite.to(mc, 2, {x:mc.x – 20});
你能夠用別的緩動函數替換 TweenLite 默認的緩動函數: Regular.easeOut.
必須使用 Flash Player 9 或以後版本的播放器 (ActionScript 3.0)
能夠對任何 MovieClip 使用 「volume」緩動,就好比: TweenLite.to(myClip_mc, 1.5, {volume:0});
能夠將 MovieClip 設定成某種顏色,使用 「tint」 參數,好比: TweenLite.to(myClip_mc, 1.5, {tint:0xFF0000});
想要對數組內容進行緩動,將數值放到一個叫 endArray的數組中便可,例如:
var myArray:Array = [1,2,3,4];
TweenLite.to(myArray, 1.5, {endArray:[10,20,30,40]});
能夠在任什麼時候候終止緩動,使用 TweenLite.killTweensOf(myClip_mc); 函數。若是想強制終止緩動,能夠傳遞一個 true 作爲第二個參數,好比
TweenLite.killTweensOf(myClip_mc, true);
取掉延遲迴調函數,用 TweenLite.killDelayedCallsTo(myFunction_func); 這項功能能夠用來控制回調函數的優先級。
使用 TweenLite.from() 方法,可使用對象從別的位置回到當前的位置。例如,你能夠將對象在舞臺上擺放整齊(緩動結束時的位置),而後利用緩動,讓它們跑到那個位置上去,你能夠將緩動的初始位置值 x 或 y 或alpha (或者其它你須要的屬性)當作參數傳遞給這個方法函數。
TweenLite 下載連接:

(AS3版本)http://www.greensock.com/as/greensock-as3.zip
(AS2版本)http://www.greensock.com/as/greensock-as2.zip
下載下來的類包中,有一個 TweenLiteAS3_Sample_1.swf, 初學者能夠用它來觀察各類緩動的效果,而且直接獲得相關的執行代碼。算是一個可視化設計的工具,不要錯過。

下載到類包之後,解壓縮到一個目錄好比:d:\AS3Class ,在flash9的首選參數 ->ActionScript->ActionScript3.0設置 中添加類目錄,d:\AS3Class\TweenLiteAS3 便可正確引用到相關的類。

應用舉例:

import gs.TweenLite;
import gs.easing.*;
stage.addEventListener(MouseEvent.CLICK, onCK);
function onCK(evt):void {
TweenLite.to(mc, 0.5, {x:mouseX, y:mouseY, rotation:360});
}

在舞臺上點擊,會讓mc 元件旋轉並跑動到鼠標位置。  

相關文章
相關標籤/搜索