0

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

所以可以说我现在有:

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

我拥有的 MovieClip 的实例在哪里pic1pic2现在在这之后,我想通过代码将它们一起制作成一个 MovieClip,并能够访问该 MovieClip 对象。

4

4 回答 4

1

如果您正在寻找一种快速的方法来为舞台上的所有内容重新设置父级,无论您是否知道实例名称,您都必须遍历舞台的所有子级。

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;
于 2012-06-27T09:56:46.583 回答
0

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

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

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

于 2012-06-27T08:51:30.893 回答
0
var newMC:MovieClip = new MovieClip();
newMC.addChild(pic1);
newMC.addChild(pic2);
于 2012-06-27T08:30:25.560 回答
0

Stage并且MovieClip都继承自DisplayObjectContainer,它定义了方法addChild()

这意味着您可以轻松地创建一个MovieClip并将其添加到阶段:

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

然后将其他 DisplayObjects 添加到其中:

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

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

于 2012-06-27T09:22:35.850 回答