AS3 - 如果我单击某个按钮,如何为舞台上的所有影片剪辑制作动画
AS3 - How to animate all movie clips in the stage if i click a certain button
您好,我一直在这个很棒的网站上阅读,这就是我想要完成的,
在我正在做的应用程序的这个特定页面上,有电影剪辑(按钮、文本、菜单),现在我想要的是如果我单击这个 "close" 按钮,我希望一切都动画化,例如一个一个地缩小。问题:有没有一种有效编码的好方法,而不是一个一个地编码,例如 menu_mc.gotoAndPlay("out");, text_mc.gotoAndPlay("out"); image.gotoAndPlay("out"); ...类似的东西。抱歉,我对此很陌生,我们将不胜感激。
您可以迭代 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});
}
您好,我一直在这个很棒的网站上阅读,这就是我想要完成的, 在我正在做的应用程序的这个特定页面上,有电影剪辑(按钮、文本、菜单),现在我想要的是如果我单击这个 "close" 按钮,我希望一切都动画化,例如一个一个地缩小。问题:有没有一种有效编码的好方法,而不是一个一个地编码,例如 menu_mc.gotoAndPlay("out");, text_mc.gotoAndPlay("out"); image.gotoAndPlay("out"); ...类似的东西。抱歉,我对此很陌生,我们将不胜感激。
您可以迭代 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});
}