日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flash TweenMax用法

發(fā)布時(shí)間:2025/7/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flash TweenMax用法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

二,TweenMax主類:

?

這里分幾個(gè)大塊來介紹,分別是:第三個(gè)參數(shù)特有屬性(29個(gè)),PlugIn(17個(gè)),公共屬性(10個(gè)),公共方法(20個(gè))。

1,第三個(gè)參數(shù)特有屬性(29個(gè)):

?

這29個(gè)參數(shù)可以直接傳入第三個(gè)OBJECT參數(shù)中,不會(huì)增加文件的大小。

(1)delay : Number:延遲開始,在TweenMax動(dòng)畫開始前延遲的秒數(shù)。

(2)useFrames : Boolean:當(dāng)設(shè)置為True時(shí),對這個(gè)TweenMax Object的時(shí)間計(jì)算方式就是基于幀frame的。

(3)ease : Function:緩動(dòng)方式。可以使用com.greensock.easing包下的緩動(dòng)函數(shù)。

(4)easeParams : Array:緩動(dòng)函數(shù)參數(shù)。某些緩動(dòng)函數(shù)需要傳入一些參數(shù)來進(jìn)行額外的控制。

(5)onInit : Function:初始化函數(shù)。在TweenMax開始前,所有參數(shù)還沒被傳入TweenMax Object時(shí)觸發(fā)。可以用來初始化運(yùn)動(dòng)對象的狀態(tài)。

(6)onInitParams : Array:初始化函數(shù)參數(shù)。

(7)onStart : Function:開始函數(shù)。跟初始化函數(shù)不同,開始函數(shù)在TweenMax Object的值改變之后才觸發(fā),而且不同于初始化函數(shù)。開始函數(shù)可以被觸發(fā)多次。

(8)onStartParams : Array:開始函數(shù)參數(shù)。

(9)onUpdate : Function:更新函數(shù)。當(dāng)每次TweenMax Object數(shù)值更新的時(shí)候觸發(fā)。

(10)onUpdateParams : Array:更新函數(shù)參數(shù)。

(11)onComplete : Function:完成函數(shù)。當(dāng)TweenMax Object完成緩動(dòng)后觸發(fā)。

(12)onCompleteParams : Array:完成函數(shù)參數(shù)。

(13)onReverseComplete : Function:回放完成函數(shù)。當(dāng)TweenMax Object處于回放狀態(tài),并且回到起點(diǎn)時(shí)觸發(fā)。

(14)onReverseCompleteParams : Array:回放完成函數(shù)參數(shù)。

(15)onRepeat : Function:重放函數(shù)。當(dāng)TweenMax Object每次重放的時(shí)候觸發(fā)。

(16)onRepeatParams : Array:重放函數(shù)參數(shù)。

(17)immediateRender : Boolean:立即渲染。一般來說,TweenMax Object會(huì)在下一個(gè)渲染周期(也就是下一幀)被渲染到場景中。如果想強(qiáng)制立即渲染,可以把這個(gè)參數(shù)設(shè)為true。另外如果想阻止一個(gè)運(yùn)動(dòng)周期為0的運(yùn)動(dòng)物體被渲染,也可以把這個(gè)參數(shù)設(shè)為false。

(18)paused : Boolean:暫停。這個(gè)很好理解,設(shè)為true時(shí)TweenMax Object就會(huì)暫停緩動(dòng)。

(19)reversed : Boolean:反轉(zhuǎn)。不知道為什么跟說明文檔里的不同。我的理解是將TweenMax Object的緩動(dòng)反過來播放。

(20)overwrite : int:覆蓋處理。定義了當(dāng)對同一個(gè)物體使用TweenMax時(shí)發(fā)生沖突的處理方法。有6種模式。

模式0:NONE。不做任何處理。性能Excellent。

模式1:ALL_IMMEDIATE。設(shè)為該模式的TweenMax Object運(yùn)動(dòng)具有最高的優(yōu)先級(jí),會(huì)覆蓋掉運(yùn)動(dòng)物體之前所有的緩動(dòng)。新的TweenMax Object創(chuàng)建時(shí)覆蓋舊的TweenMax Object。性能Excellent。

模式2:AUTO。是TweenMax的默認(rèn)模式(原來我之前的痛苦都是因?yàn)樗ぁぁ?#xff09;。在新的TweenMax Object第一次渲染時(shí)覆蓋重復(fù)的屬性(模式1是覆蓋掉全部屬性)。只要不是具有太多的屬性需要覆蓋,性能還是不錯(cuò)的。

模式3:CONCURRENT。這個(gè)單詞的意思是“同時(shí)發(fā)生”。跟模式1很相似。唯一的不同是他只覆蓋掉正在運(yùn)行的TweenMax Object。而放過其他的沒有啟動(dòng)的TweenMax Object。性能Very Good。

模式4:ALL_ONSTART。也是跟模式1非常像。兩點(diǎn)不同是他是在TweenMax Object第一次渲染時(shí)才覆蓋掉其他所有的TweenMax Object,而且這個(gè)會(huì)把在他之后創(chuàng)建的TweenMax Object也覆蓋掉。性能Very Good。

模式5:PREEXISTING。這個(gè)單詞一看上去很迷糊,其實(shí)是pre-existing,囧。唯一的不同是他是在TweenMax Object第一次渲染時(shí)才覆蓋掉其他所有的TweenMax Object。性能Very Good。

如果想改變?nèi)值腡weenMax Object默認(rèn)overwrite屬性,可以調(diào)用哪個(gè)OverWriteManager類的全局方法init(),即:

OverwriteManager.init(OverwriteManager.XXXX);

(21)repeat : int:循環(huán)次數(shù)。設(shè)置為-1為無限循環(huán)。

(22)repeatDelay : Number:循環(huán)延遲的時(shí)間。

(23)yoyo : Boolean:YOYO球。另外一種循環(huán)的方式。像我們玩的YOYO球一樣,從頭到尾,再從尾到頭的往返運(yùn)動(dòng)。PS:要與repeat同時(shí)設(shè)置。

(24)onStartListener : Function:注冊一個(gè)TweenEvent的監(jiān)聽,跟開始函數(shù)在同一時(shí)刻派發(fā)。

(25)onUpdateListener : Function:注冊一個(gè)TweenEvent的監(jiān)聽,跟更新函數(shù)在同一時(shí)刻派發(fā)。

(26)onCompleteListener : Function:注冊一個(gè)TweenEvent的監(jiān)聽,跟完成函數(shù)在同一時(shí)刻派發(fā)。

(27)onReverseCompleteListener : Function:注冊一個(gè)TweenEvent的監(jiān)聽,跟回放完成函數(shù)在同一時(shí)刻派發(fā)。

(28)onRepeatListener : Function:注冊一個(gè)TweenEvent的監(jiān)聽,跟重放函數(shù)在同一時(shí)刻派發(fā)。

(29)startAt : Object:重設(shè)初始值。一般TweenMax Object使用運(yùn)動(dòng)物體的當(dāng)前狀態(tài)來做初始值。但是可以使用這個(gè)參數(shù)重新設(shè)置運(yùn)動(dòng)物體的初始狀態(tài)。

?

?

2,PlugIn(17個(gè))

?

PlugIn 與"第三個(gè)參數(shù)特有屬性"其實(shí)是同一樣?xùn)|西。所不同的是他會(huì)顯著增加生成文件的大小。所有PlugIn 都關(guān)閉的情況下TweenMax的大小為8.8k(TweenLite為4k)。當(dāng)所有的PlugIn都使用后(包括收費(fèi)的)TweenMax會(huì)膨脹到 25.9k。(話說回來怎么關(guān)閉我也不清楚,求指教)

?

這里介紹的是TweenMax文檔里提到的17個(gè)PlugIn(我看了包里面竟然有30個(gè),囧···不管他)。

?

(1)autoAlpha : Number:跟alpha幾乎一樣,不同的是他在alpha==0時(shí)會(huì)自動(dòng)將visible也設(shè)為false,而在alpha>0時(shí)將visible設(shè)為true。

(2)visible : Boolean:在TweenMax Object的最后設(shè)置物體的visible屬性。

(3)volume : Number:緩動(dòng)音量的。需要運(yùn)動(dòng)物體有soundTransform屬性,例如MovieClip,SoundChannel,NetStream等。

(4)tint : Number:顏色。將整個(gè)運(yùn)動(dòng)物體變成對應(yīng)的顏色。可以使用十六進(jìn)制值。

(5)removeTint : Boolean:設(shè)為true時(shí),去掉已經(jīng)使用的tint屬性。

(6)frame : Number:當(dāng)運(yùn)動(dòng)物體是MovieClip時(shí),緩動(dòng)內(nèi)部的時(shí)間軸。

(7)bezier : Array:貝塞爾曲線。這個(gè)有點(diǎn)不清楚,好像數(shù)組里的奇數(shù)個(gè)點(diǎn)(Object{x:xxx,y:xxx})為貝塞爾曲線的控制點(diǎn),偶數(shù)個(gè)點(diǎn)為運(yùn)動(dòng)的終點(diǎn)。

(8)bezierThrough : Array:比貝塞爾曲線更直觀,數(shù)組里奇數(shù)的點(diǎn)為曲線中要穿過的點(diǎn)。

(9)orientToBezier :?Array (or Boolean):指向運(yùn)動(dòng)。一個(gè)比較常用的功能是在進(jìn)行曲線運(yùn)動(dòng)時(shí),物體的朝向一般要對應(yīng)運(yùn)動(dòng)的方向(例如汽車之類的運(yùn)動(dòng))。對于2D可以簡單的傳值 true。對于3D或者需要更多的靈活性,可以傳入數(shù)組4個(gè)參數(shù),x,y,rotation,需要增加的度數(shù),注:頭3個(gè)參數(shù)不是具體的數(shù)值,而是需要變化的參數(shù),頭兩個(gè)是位置屬性,第三個(gè)是旋轉(zhuǎn)參數(shù),第四個(gè)參數(shù)為可選。

(10)hexColors : Object:16 進(jìn)制緩動(dòng)。 TweenMax在對16進(jìn)制數(shù)進(jìn)行緩動(dòng)時(shí)會(huì)有不平滑的現(xiàn)象出現(xiàn),這是就需要使用hexColors參數(shù)進(jìn)行緩動(dòng)。hexColors參數(shù)是一個(gè)對象,所 以需要把要進(jìn)行緩動(dòng)的參數(shù)傳入其中,即:TweenMax.to(target,2,{hexColors:{mcParas:newColor}});其中mcParas是target的屬性,newColor是要緩動(dòng)到的新的16進(jìn)值。

(11)shortRotation : Object:短旋轉(zhuǎn)。用這個(gè)代替rotation的話,TweenMax會(huì)自動(dòng)按最短的旋轉(zhuǎn)方向來進(jìn)行旋轉(zhuǎn),而不是按照AS3默認(rèn)的以逆時(shí)針方向進(jìn)行旋轉(zhuǎn)。記得要按Object的方式傳入。

(12)roundProps : Array:取整數(shù)。對于想要在變化中始終取整的值,可以把屬性的字符形式放到這個(gè)數(shù)組中。例:TweenMax.to(target,2,{x:200,y:200,roundProps:["x","y"]});

(13)blurFilter:Object:模糊濾鏡。用法:TweenMax.to(target,2,{blurFilter:{blurX:xxx,blurY:xxx}});

(14)glowFilter:Object:發(fā)光濾鏡。用法:TweenMax.to(target,2,{glowFilter:{color:0xFFFFFF,blurX:xxx,blurY:xxx}});

(15)colorMatrixFilter:Object:顏色矩陣濾鏡。用法:TweenMax.to(target,2,{colorMatrixFilter:{colorize:0xff0000, amount:1, contrast:1, saturation:1, hue:0}});

(16)dropShadowFilter:Object:投影濾鏡。用法:TweenMax.to(target,2,{dropShadowFilter:{color:0xff0000, alpha:1, blurX:12, blurY:12, distance:12}});

(17)bevelFilter:Object:斜角濾鏡。用法:TweenMax.to(target,2,{bevelFilter:{blurX:10, blurY:10, strength:1, distance:10}});

?

?

3,公共屬性

?

TweenMax有10個(gè)公共屬性。(啊···好簡短的介紹)

(1)動(dòng)畫進(jìn)度

currentProgress : Number

緩動(dòng)動(dòng)畫的進(jìn)度,從0~1。

(2)動(dòng)畫時(shí)間

currentTime : Number

與totalDuartion不同,currentTime只表示了一個(gè)TweenMax周期的時(shí)間。

(3)全局緩動(dòng)速度倍數(shù)

globalTimeScale : Number

類似與按XX倍速播放緩動(dòng)動(dòng)畫,用法:TweenMax.globalTimeScale = XXX;

(4)取消作用在運(yùn)動(dòng)物體上的所有TweenMax動(dòng)畫

killTweensOf : Function

這是一個(gè)對TweenLite中killTweensOf函數(shù)的引用,可以直接使用。

(5)重放次數(shù)

repeat : int

跟直接在TweenMax的構(gòu)造函數(shù)中傳入效果一樣。

(6)重放延遲時(shí)間

repeatDelay : Number

跟直接在TweenMax的構(gòu)造函數(shù)中傳入效果一樣。

(7)個(gè)體緩動(dòng)速度倍數(shù)

timeScale : Number

與globalTimeScale用法一樣,只是這個(gè)是對單個(gè)TweenMax Object調(diào)用的。

(8)總緩動(dòng)進(jìn)度

totalProgress : Number

這個(gè)計(jì)算的是總的緩動(dòng)時(shí)間,包含了重放和重放延遲的時(shí)間。從0~1。

(9)總緩動(dòng)時(shí)間

totalDuration : Number

這個(gè)計(jì)算的是總的緩動(dòng)時(shí)間,包含了重放和重放延遲的時(shí)間。

(10)yoyo

yoyo : Boolean

跟直接在TweenMax的構(gòu)造函數(shù)中傳入效果一樣。

?

4,公共方法(20個(gè)):

?

(1)構(gòu)造方法。

TweenMax(target:Object, duration:Number, vars:Object)

三個(gè)參數(shù)分別是運(yùn)動(dòng)物體,周期,參數(shù)。

(2)allTo(靜態(tài)方法)

allTo(targets:Array, duration:Number, vars:Object, stagger:Number = 0, onCompleteAll:Function = null, onCompleteAllParams:Array = null):Array

頭三個(gè)參數(shù)分別是:1個(gè)數(shù)組保存了多個(gè)要進(jìn)行緩動(dòng)的對象,周期,參數(shù);

后三個(gè)參數(shù)為可選,分別是:間隔時(shí)間,完成調(diào)用的函數(shù),函數(shù)參數(shù)。

返回的是一個(gè)數(shù)組保存了創(chuàng)建的所有TweenMax Object。

(3)allFromTo(靜態(tài)方法)

allFromTo(targets:Array, duration:Number, fromVars:Object, toVars:Object, stagger:Number = 0, onCompleteAll:Function = null, onCompleteAllParams:Array = null):Array

跟allTo一樣,只是多了一個(gè)參數(shù)對象可以用與定義起始狀態(tài)。

(4)allFrom(靜態(tài)方法)

allFrom(targets:Array, duration:Number, vars:Object, stagger:Number = 0, onCompleteAll:Function = null, onCompleteAllParams:Array = null):Array

跟allTo一樣,只是定義的是運(yùn)動(dòng)對象的初始狀態(tài),運(yùn)動(dòng)到當(dāng)前狀態(tài)。

(5)to(靜態(tài)方法)

to(target:Object, duration:Number, vars:Object):TweenMax

是allTo的簡化版,也是很多人用TweenMax的主要目的,定義了運(yùn)動(dòng)物體,周期,和參數(shù)。返回一個(gè)TweenMax Object。

(6)fromTo(靜態(tài)方法)

fromTo(target:Object, duration:Number, fromVars:Object, toVars:Object):TweenMax

與to一樣,不過多了一個(gè)參數(shù)定義運(yùn)動(dòng)物體的初始狀態(tài)。

(7)from(靜態(tài)方法)

from(target:Object, duration:Number, vars:Object):TweenMax

跟to一樣,只是定義的是運(yùn)動(dòng)對象的初始狀態(tài),運(yùn)動(dòng)到當(dāng)前狀態(tài)。

(8)強(qiáng)制完成

complete(skipRender:Boolean = false, suppressEvents:Boolean = false):void

強(qiáng)制TweenMax到最后結(jié)束部分。如果第一個(gè)參數(shù)設(shè)為true,則不會(huì)渲染,TweenMax將停在調(diào)用那一刻。如果第二個(gè)參數(shù)設(shè)為true則不會(huì)觸發(fā)onCompelte,onUpdate等事件。

(9)延遲執(zhí)行函數(shù)

delayedCall(delay:Number, onComplete:Function, onCompleteParams:Array = null, useFrames:Boolean = false):TweenMax

跟AS3自帶的setTimeout幾乎一樣,是他們的AS3版。

(10)返回正在運(yùn)行的的所有TweenMax Object(靜態(tài)方法)

getAllTweens():Array

如題。

(11)返回運(yùn)動(dòng)物體正在運(yùn)行的的TweenMax Object(靜態(tài)方法)

getTweensOf(target:Object):Array

如題。

(12)清除初始值

invalidate():void

當(dāng)從新播放一段TweenMax Object時(shí)(即調(diào)用restart()方法),如果想從新設(shè)置新的初始值,可以調(diào)用此方法清空原有初始值。調(diào)用后此TweenMax Object會(huì)將當(dāng)前位置作為新的初始值。

(13)判斷是否正在緩動(dòng)(靜態(tài)方法)

isTweening(target:Object):Boolean

正在緩動(dòng)返回true,否則false。

(14)清除所有TweenMax Object(靜態(tài)方法)

killAll(complete:Boolean = false, tweens:Boolean = true, delayedCalls:Boolean = true):void

三個(gè)參數(shù),第一個(gè)設(shè)為true可以強(qiáng)制先完成再清除,第二個(gè)是清除所有的緩動(dòng),第三個(gè)是清除所有的函數(shù)延遲執(zhí)行。

(15)清除所有子對象的TweenMax Object(靜態(tài)方法)

killChildTweensOf(parentisplayObjectContainer, complete:Boolean = false):void

將一個(gè)DisplayObjectContainer的所有子對象的TweenMax Object。可以選擇先強(qiáng)制完成。

(16)清除某個(gè)屬性的緩動(dòng)

killProperties(names:Array):void

傳入的是一個(gè)數(shù)組,以字符串的形式。例:_tweenMax.killProperties(["x"]);

(17)全部暫停(靜態(tài)方法)

pauseAll(tweens:Boolean = true, delayedCalls:Boolean = true):void

全部暫停TweenMax Object(可選),函數(shù)延遲執(zhí)行(可選)。

(18)全部恢復(fù)(靜態(tài)方法)

全部恢復(fù)TweenMax Object(可選),函數(shù)延遲執(zhí)行(可選)。

(19)重定向終點(diǎn)

setDestination(property:String, value:*, adjustStartValues:Boolen = true):void

第一個(gè)參數(shù)是對應(yīng)的屬性值,第二個(gè)是要設(shè)置的新值,第三個(gè)參數(shù)是是否要對應(yīng)調(diào)整起點(diǎn),讓轉(zhuǎn)變看起來沒那么 skipping/jerking(意會(huì)吧,突兀?),就是要注意如果是要反播緩動(dòng)動(dòng)畫的話可能會(huì)無法重定向到起點(diǎn)。一般不建議和updateTo一起用。

(20)重定向?qū)傩?/span>

updateTo(vars:Object, resetDuration:Boolean = false):void

可以在運(yùn)行中新增或改變原有的屬性變化值。第二個(gè)參數(shù)設(shè)為false時(shí)將不重播緩動(dòng),而繼續(xù)緩動(dòng)到新的值;設(shè)為true將中斷并重播緩動(dòng)。

?

最 后一節(jié),我們談?wù)凾weenMax的緩動(dòng)效果。TweenMax的緩動(dòng)效果包是com.greensock.easing.*;其中里面有16個(gè)類。按照 每個(gè)類都有的easeIn,easeOut,easeInOut,3種模式的話,就總共有48種變化了(猜想,應(yīng)該是左右)。下面來一樣一樣介紹:

總結(jié)

以上是生活随笔為你收集整理的flash TweenMax用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。