我希望能够通过 ActionScript 将我在舞台上添加的所有内容转换为 MovieClip。
所以可以说我现在有:
stage.addChild(pic1);
stage.addChild(pic2);
我拥有的 MovieClip 的实例在哪里pic1
,pic2
现在在这之后,我想通过代码将它们一起制作成一个 MovieClip,并能够访问该 MovieClip 对象。
我希望能够通过 ActionScript 将我在舞台上添加的所有内容转换为 MovieClip。
所以可以说我现在有:
stage.addChild(pic1);
stage.addChild(pic2);
我拥有的 MovieClip 的实例在哪里pic1
,pic2
现在在这之后,我想通过代码将它们一起制作成一个 MovieClip,并能够访问该 MovieClip 对象。
如果您正在寻找一种快速的方法来为舞台上的所有内容重新设置父级,无论您是否知道实例名称,您都必须遍历舞台的所有子级。
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;
允许交互的容器,例如。点击检测
var sprite:Sprite = new Sprite();
sprite.addChild(pic1);
sprite.addChild(pic2);
根据上面的 crooksy88 回答,虽然我不确定在这种情况下使用 MovieClip 有什么好处
var newMC:MovieClip = new MovieClip();
newMC.addChild(pic1);
newMC.addChild(pic2);
Stage
并且MovieClip
都继承自DisplayObjectContainer
,它定义了方法addChild()
。
这意味着您可以轻松地创建一个MovieClip
并将其添加到阶段:
var container:MovieClip = new MovieClip();
stage.addChild(container);
然后将其他 DisplayObjects 添加到其中:
container.addChild(pic1);
container.addChild(pic2);
操纵位置、比例、旋转和其他类似属性会影响容器的内容。