-1

我正在做一个项目,我在舞台上放置了一堆对象(相同类型)。我想要做的是将所有这些对象添加到一个数组中。

这是我的代码,但不起作用。我知道这不是在舞台上添加东西的最佳方式,但我必须这样做。

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 实例,我想将它们添加到颗粒阵列中。我是否应该给每个实例一个实例名称,例如“pellet1”,然后循环检查每个实例并将其添加到数组中?

任何帮助都会很棒。

4

2 回答 2

1

1)要访问舞台,您已经将经理添加到其中,并在添加到舞台时编写回调函数

2)你的 for 循环有一些错误

希望能帮助到你!

 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);
                }
          }


      }

 }
于 2012-06-29T09:31:06.210 回答
0

您应该按索引遍历舞台上的孩子:

var pellets:Array = new Array();
var num:int = stage.numChildren;
for (var i:int ; i<num ; i++){
    pellets.push(stage.getChildAt(i));
}
于 2012-06-29T09:19:30.240 回答