2015-07-10 68 views
0

您好一直在閱讀這個偉大的網站,這是我想要完成的,在這個特定頁面上的 即時通訊,有電影剪輯(按鈕,文本,菜單),現在我想要的是如果我點擊這個「關閉」按鈕,我想要一切動畫,例如縮小一個接一個。問題:是否有一種很好的方法可以有效地對其進行編碼,而不是一個一個編碼,例如menu_mc.gotoAndPlay(「out」); text_mc.gotoAndPlay(「out」); image.gotoAndPlay( 「OUT」); ...這樣的事情。對不起,即時通訊這麼新,任何幫助將不勝感激。AS3 - 如何在舞臺中動畫所有影片剪輯,如果我點擊某個按鈕

+0

「收縮」是獨立還是整體? – Vesper

+0

感謝Vesper的回覆,獨立收縮。 – addAdviceListener

回答

0

你可以遍歷DisplayList,並調用你的方法...

for (var i:int = 0; i < this.numChildren; i++) { 
    var obj:* = this.getChildAt(i); 
    if (obj is MovieClip) { 
     obj.gotoAndPlay("out"); 
    } 
} 

或者你可以用一個動畫庫(如Greensock)動畫...

for (var i:int = 0; i < this.numChildren; i++) { 
    var obj:* = this.getChildAt(i); 
    TweenLite.to(obj, .35, {scaleX:0.5, scaleY:0.5, delay:0.25*i}); 
} 

或者你可以爲要生成動畫的對象引用Array;一個優越的選擇(如果你的物體不在同一個容器中)。

var a:Array = [menu_mc, text_mc, image]; 

for (var i:int = 0; i < a.length; i++) { 
    TweenLite.to(a[i], .35, {scaleX:0.5, scaleY:0.5, delay:0.25*i}); 
} 
+0

非常感謝! – addAdviceListener

相關問題