使用 TimelineLite
可以將其 TimelineLite看成MovieClip
它的作用是控制tween的運動,其當我們需要mc的運動一個接著一個
例子:
var myTimeline:TimelineLite = new TimelineLite();
myTimeline.append( new TweenLite(mc, 1, {x:100}) );//添加進myTimeline
myTimeline.append( new TweenLite(mc, 1, {y:200}) );
myTimeline.append( new TweenMax(mc, 1, {tint:0xFF0000}) );
上面的代碼的結果是: mc首先移到x=100處,然后移動到y(tǒng)=200處,最后顏色發(fā)生漸變,漸變到0xFF0000
它們的運動是一個接著一個進行。
下面是一個下例子 , 測試,例子,并沒有發(fā)生tween運動,當鼠標滑上和滑下按鈕menu時執(zhí)行tween運動
故我們控制剛測試時不運動 即: var myTimeline:TimelineLite = new TimelineLite({paused:true});
這樣開始時就不發(fā)生tween運動了。TimelineLite的屬性方法和TweenLite很多一樣。
var tween = new TweenLite({paused:true});//這樣開始時也是不發(fā)生tween運動
下面是具體的代碼:
var myTimeline:TimelineLite = new TimelineLite({paused:true});
myTimeline.append( new TweenLite(mc, 1, {x:100}) );
myTimeline.append( new TweenLite(mc, 1, {y:200}) );
myTimeline.append( new TweenMax(mc, 1, {tint:0xFF0000}) );
menu.addEventListener(MouseEvent.ROLL_OVER, overHandler);
menu.addEventListener(MouseEvent.ROLL_OUT, outHandler);
function overHandler(event:MouseEvent):void {
myTimeline.play();
}
function outHandler(event:MouseEvent):void {
myTimeline.reverse();
}
測試顯示,只有滑上和滑出menu按鈕發(fā)生運動
除此之外,我們還可以在某個時刻或者某個標簽插入tween運動,用到的方法是TimelineLite的insert()方法。
我們還可用TimelineLite的addlabel() 給某個時刻插入標簽。
append() 的第二個參數(shù)offset表示上一個tween過后,在過offset時間執(zhí)行本tween運動
例子:
var myTimeline:TimelineLite = new TimelineLite();
//在時刻為1秒的地方插入 tween運動,即第一秒結束后才運動
myTimeline.insert( new TweenLite(mc, 2, {x:100}), 1);
//提前1.5秒發(fā)生tween運動
myTimeline.append( new TweenLite(mc, 1, {y:200}), -1.5);
// 為4秒時刻增加標簽 spin
myTimeline.addLabel("spin", 4);
//在spin標簽處添加tween動畫
myTimeline.insert( new TweenLite(mc, 1, {rotation:"360"}), "spin");
我們也可對多個運動同時進行運動
myArrayOfSprites是運動對象mc的數(shù)組
myTimeline.insertMultiple( TweenMax.allFrom(myArrayOfSprites, 1, {y:"-100", autoAlpha:0}) );
TweenLite.delayedCall(2, myFunction, [myParam1, myParam2]); //表示經(jīng)過2秒后執(zhí)行myFunction()方法,[myParam1, myParam2是該方法的參數(shù)
TweenLite.to(mc, 1, {x:"100"});//在原坐標的基礎上增加100像素 注意與x:100的區(qū)別
//or if the value is in a variable, cast it as a String like this:
TweenLite.to(mc, 1, {x:String(myVariable)});