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

}

ステージ上にPelletのインスタンスが5つあり、それらをペレット配列に追加したいと思います。それぞれに「pellet1」のようなインスタンス名を付け、ステージをループしてそれぞれをチェックし、配列に追加する必要がありますか?

どんな助けでも素晴らしいでしょう。

4

2 に答える 2

1

1)ステージにアクセスするには、マネージャーをステージに追加し、ステージに追加されたときにコールバック関数を記述します。

2)フロアループにエラーがあります

それが役に立てば幸い!

 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 に答える