2014-11-04 3 views
0

Im программируя простую игру для школьного проекта. Это что-то вроде Space Invaders, но я не могу вставить больше одного врага вовремя ... Он просто показывает мне одного врага, и теперь я получаю сообщение об ошибке «Свойство x, не найденное в String, и значение по умолчанию отсутствует».AS3 down стрельба

Я попытался создать вектор для создания нескольких врагов, но это не работает вообще ...

Вот мой код:

Переменные для врагов:

private var bird_1:MovieClip; 
    private var InimigoList:Vector.<MovieClip> = new Vector.<MovieClip>(); 
    private var NumInimigos:int = 10; 
    private var birdVelo:Number = 3; 

А затем:

bird_1 = new MovieClip(textureAtlas.getTextures("bird"), 5); 
     bird_1.smoothing = "none"; 
     Starling.juggler.add(bird_1); 
     bird_1.visible = false; 
     addChild(bird_1); 

     for (var i:uint = 0; i < NumInimigos; i++) { 
     var Enemy:MovieClip = new MovieClip (textureAtlas.getTextures("bird"),12); 
     Enemy.smoothing = "none"; 
     Enemy.visible = false; 
     Enemy.x = i * 50 + Enemy.width; 
     InimigoList.push(Enemy); 
     Starling.juggler.add(Enemy); 
     addChild(Enemy); 

Теперь я хочу, чтобы на сцене появилось несколько врагов. Тогда я сделал это:

for (var i:uint = 0; i < NumInimigos; i++) { 
      var newEnemy = InimigoList[i]; 
      newEnemy += birdVelo; 
      if (newEnemy.x > stage.stageWidth){ 
      newEnemy.x = 0; 
      } 
      } 

Но это не работает ... Я получаю только один враг, и не больше ... Вы можете мне помочь? Спасибо!

+0

Я думаю, что ваша проблема - «newEnemy + = birdVelo;» должен быть «newEnemy.x + = birdVelo;» – Karmacon

ответ

0

Вы создаете невидимых врагов?

Enemy.visible = false; 

Вы помещаете всех врагов в одну и ту же область сцены?

for (var i:uint = 0; i < NumInimigos; i++) { 
      var newEnemy = InimigoList[i]; 
      newEnemy += birdVelo; 
      if (newEnemy.x > stage.stageWidth){ 
      newEnemy.x = 0; 
      } 
      } 

Что это делает?

newEnemy += birdVelo; 

Вы пытались напрямую ссылаться на объект из его позиции в массиве?

InimigoList[i].x = newx; 
InimigoList[i].y = mewy; 
Смежные вопросы