如何使用as3将舞台上的所有内容转换为影片剪辑

时间:2012-06-27 08:11:19

标签: actionscript-3 flash actionscript

我希望能够通过ActionScript将我在舞台上添加的所有内容转换为MovieClip。

所以我现在说:

stage.addChild(pic1);
stage.addChild(pic2);

其中pic1pic2是我拥有的MovieClip的实例, 在此之后,我想通过代码将这两者一起制作成MovieClip,并能够访问该MovieClip对象。

4 个答案:

答案 0 :(得分:1)

如果您正在寻找一种快速方式在舞台上重新拥有所有,无论您是否知道实例名称,您都必须遍历舞台上的所有孩子。< / p>

var myMovieClip:MovieClip = new MovieClip(); // the MovieClip to contain your children
var l:int = stage.numChildren; // how many things are on the stage
for (var i:int = 0; i<l; i++){ // loop through all of them
     myMovieClip.addChild(stage.getChildAt(0)); //removes the bottom DisplayObject from the stage and adds it to your container
}
addChild(myMovieClip); //adds the complete MovieClip back to the stage;

答案 1 :(得分:0)

var newMC:MovieClip = new MovieClip();
newMC.addChild(pic1);
newMC.addChild(pic2);

答案 2 :(得分:0)

允许交互的容器,例如。点击检测

var sprite:Sprite = new Sprite();
sprite.addChild(pic1);
sprite.addChild(pic2);

根据上面的crooksy88回答,虽然我不确定在这种情况下使用MovieClip会带来什么好处

答案 3 :(得分:0)

StageMovieClip都继承自DisplayObjectContainer,后者定义方法addChild()

这意味着您可以轻松创建MovieClip并将其添加到舞台:

var container:MovieClip = new MovieClip();
stage.addChild(container);

然后将其他DisplayObject添加到:

container.addChild(pic1);
container.addChild(pic2);

操纵位置,比例,旋转和其他类似属性将影响容器的内容。