0

MovieClip を使用してクラスを作成し、別のクラスでこのオブジェクトを作成して配列に追加しました。プロパティにアクセスできません - エラー #1069。

var square:MovieClip = new MovieClip();

    public function sq(s:Stage,c:int) {

    square.graphics.beginFill("0x164499");
    square.graphics.drawRect(0,0,200,c);
    square.graphics.endFill();
    addChild(square);

    }

セカンドクラス:

for(var i=0;i<4;i++){
    obj1 = new sq(stage,100);
    obj1.x=100;
    obj1.y=100;
    obj1.name="square"+i;

    var sarray:Array = new Array();
    sarray[i]=obj1;

    trace("parameter: "+sarray[0].c);

    stage.addChildAt(obj1,0);

}

4

1 に答える 1

0

sq で変数 c を定義する必要があります

var square:MovieClip = new MovieClip();

public var c:int;
public function sq(s:Stage,$c:int) {

    c = $c;
    square.graphics.beginFill("0x164499");
    square.graphics.drawRect(0,0,200,c);
    square.graphics.endFill();
    addChild(square);

}

そして2番目のクラスでは、ループの外側でsarrayを定義するか、使用する必要があると思います

  sarray.push(obj1);

それ以外の

   sarray[i]=obj1;
于 2013-06-20T01:15:13.293 に答える