пытаясь загрузить определенное количество объектов на сцену, с треском проваливаясь - PullRequest
0 голосов
/ 31 октября 2009

Я прокомментировал мой код ниже, чтобы отразить то, что я пытаюсь сделать здесь. В данный момент Flash выдает ошибку 1084, но я не могу определить свою проблему. Я ожидаю, что это как-то связано с оператором this['circle'+i].

var boxOne = new box();
stage.addChild(boxOne);
boxOne.x = stage.stageWidth/2;
boxOne.y = stage.stageHeight/2; //This far is fine, no issues.

boxOne.addEventListener(MouseEvent.CLICK,spawn)

function spawn() { //Spawn function called by MouseEvent
 for (var i:int = 0;i==5;i++) { //For a total of 5 times
  var this['circle'+i] = new circle(); //Make a new circle object
  stage.addChild(this['circle'+i]); //Add it to the stage
  this['circle'+i].x = stage.stageWidth / (Math.random()*10); //Set X
  this['circle'+i].y = stage.stageHeight / (Math.random()*10); //Set Y
 }
}

Любой вклад приветствуется.

1 Ответ

3 голосов
/ 31 октября 2009

"this" - это ключевое слово, и вы пытаетесь определить его как переменную.

Вы либо идете в область действия объекта

this['circle'+i] = new circle();  

или локальный охват

var c:circle = new circle();  

или массив / вектор области видимости объекта (лучший)

var circles:Array = new Array() // (outside the function)
circles[i] = new circle()       // (instead of this['circle'+i] = new circle();)


Кроме того, классы идут в верхнем регистре первыми ( Круг , а не круг ), и вы хотите выполнить цикл, пока i <5 </em>, а не i == 5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...