2012-01-10 44 views
0

我有兩個數組包含幾個影片剪輯。我用for循環來成功地在時間軸對象中注入第一個數組。但後來我意識到,我將要做的關於我需要同時啓動它們的第二個數組的問題,並且每個數組必須在x和y處具有不同的目的地。使兩個陣列同時啓動

想象一下橫幅745x100px,我需要將不同的影片剪輯從兩側移動到某個目的地。

代碼例如:

import com.greensock.*; 
import com.greensock.easing.*; 
import flash.display.MovieClip; 


var mainArray:Array = [amcMC, tantrumMC, blokMC, misMC, futMC, laoMC, cauMC, deepMC, plusMC, noMC, copMC ]; 
var therapyArray:Array = [kurtenMC, panacMC, dubMC, lowMC, dtoxMC, hunMC, mopMC, zenMC, hanMC, conMC ]; 

var timeline:TimelineMax = new TimelineMax({repeat:-1}); 

for(var key:String in mainArray){ 
    var mcMain:MovieClip = MovieClip(mainArray[key]); 
    timeline.append(TweenMax.from(mcMain,1 ,{x:-200 y: 40, scaleX:0.1, blurFilter:{blurX:20}, ease:Back.easeOut})); 
    timeline.append(TweenMax.to(mcMain,cas,{x:-200, y: 40, delay:1, blurFilter:{blurX:20}, ease:Back.easeOut})); 
} 

我需要在第二陣列應用略微不同的補間,並且同時觸發它們,或具有小的偏移。

回答

1

您可以使用2個TimelineMax對象以及一個Timer。將偵聽器添加到定時器中,以便在第二個數組中加載第二個TimelineMax時調用該定時器。你的偏移量是你設置定時器延遲的值。

2

使用insertMultiple。這使您可以在時間線中的同一點添加多個補間。如果您喜歡使用此方法,您甚至可以使用設置將它們平均分散到相同的延遲時間。

這裏有一個例子:

var timeline:TimelineMax = new TimelineMax({repeat:2, yoyo:true, repeatDelay:1.5}); 
timeline.append(TweenLite.from(blackBar, 0.8, {x:550})); 
timeline.insertMultiple(TweenMax.allFrom([logo, timelineWord, maxWord, byGreenSock], 0.5, {autoAlpha:0}, 0.25), 0.6); 
timeline.insertMultiple(TweenMax.allFrom(lettersArray, 1, {y:"-30", alpha:0, ease:Elastic.easeOut}, 0.04), 1.4); 

從使用GreenSock文檔:

insertMultiple()和appendMultiple()提供了一些非常強大的 排序功能,允許您添加補間的數組(使用 TweenLite/Max實例或新的簡寫語法,如[mc,1, {x:100}]),並可選擇將它們與SEQUENCE或START模式對齊,並且如果需要,甚至可以使它們錯開。例如,插入3個充斥到 的時間表,使企業的開始時間,但0.2 秒咋舌他們,

和鏈接到這裏的文檔: http://www.greensock.com/as/docs/tween/_timelinemax.html

+0

非常感謝!我做的! :) – 2012-01-11 11:32:22

+0

如果這是您選擇的答案,您是否介意點擊接受?它將使問題不會顯示爲公開,並幫助人們進行搜索以找到有效的答案。 – 2012-01-11 17:19:08