我正在开发一个项目,我在舞台上放置了一堆对象(相同类型)。我想要做的是将所有这些对象添加到数组中。
这是我的代码,虽然不起作用。我知道这不是向舞台添加东西的最佳方式,但我必须这样做。
package
{
import flash.events.Event
import flash.display.MovieClip;
public class Pellet_Manager extends MovieClip
{
var pellets:Array = new Array();
var pellet:Pellet;
public function Pellet_Manager()
{
var pellet:Pellet;
for (Pellet in stage)
{
pellet = Pellet;
pellets.push(pellet);
}
}
}
}
我在舞台上有5个Pellet实例,我想将它们添加到pellets数组中。我应该给每个人一个像“pellet1”这样的实例名称并循环检查每个实例并将其添加到数组中吗?
任何帮助都会很棒。
答案 0 :(得分:1)
1)要访问舞台,您已将经理添加到舞台,并在将其添加到舞台时编写回调函数
2)你的foor循环有一些错误
希望它有所帮助!
package {
import flash.events.Event
import flash.display.MovieClip;
public class Pellet_Manager extends MovieClip {
var pellets:Array = new Array();
var pellet:Pellet;
public function Pellet_Manager() {
this.addEventListener (Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
private function onAddedToStage (evt:Event) {
var pellet:Pellet;
for each (var pellet:Pellet in this.stage) {
pellets.push(pellet);
}
}
}
}
答案 1 :(得分:0)
你应该通过索引在舞台上循环播放儿童:
var pellets:Array = new Array();
var num:int = stage.numChildren;
for (var i:int ; i<num ; i++){
pellets.push(stage.getChildAt(i));
}