DeNCHiK01
29.02.2012, 21:38
Добрый вечер! Я создаю игру на Flash. Мне нужно, чтобы при попадании в корабль проигрывалась анимация взрыва, а затем он удалялся со сцены. Я пытаюсь это сделать так:
Вставил в класс корабля
static public const REMOVE_ME:String = "removeMe"
В последний кадр анимации взрыва корабля:
import flash.events.Event
dispatchEvent(new Event(REMOVE_ME, true));
В классе игры:
public function moveBullets():void
{
for (var i2:int; i2 < enemyArr.length; i2++ )
{
if (enemyArr[i2].health <= 0)
{
enemyArr[i2].gotoAndPlay("boom")
addEventListener(enemyArr[i2].REMOVE_ME, removeMe);
if (enemyArr.length == 0)
{
nextLevel();
}
}
}
}
private function removeMe():void
{
removeChild(enemyArr[i2])
enemyArr.splice(i2, 1)
}
Я немного запутался и не понял, что именно должна принимать removeMe в моем случае, но мне нужно унаследовать i2. И при компиляции выдает: Error #1069: Не удалось найти свойство REMOVE_ME в AS.Game.Enemies.EnemyEasy; отсутствует значение по умолчанию, хотя вроде REMOVE_ME в этом классе есть. Подскажите, пожалуйста, как это можно исправить?
Вставил в класс корабля
static public const REMOVE_ME:String = "removeMe"
В последний кадр анимации взрыва корабля:
import flash.events.Event
dispatchEvent(new Event(REMOVE_ME, true));
В классе игры:
public function moveBullets():void
{
for (var i2:int; i2 < enemyArr.length; i2++ )
{
if (enemyArr[i2].health <= 0)
{
enemyArr[i2].gotoAndPlay("boom")
addEventListener(enemyArr[i2].REMOVE_ME, removeMe);
if (enemyArr.length == 0)
{
nextLevel();
}
}
}
}
private function removeMe():void
{
removeChild(enemyArr[i2])
enemyArr.splice(i2, 1)
}
Я немного запутался и не понял, что именно должна принимать removeMe в моем случае, но мне нужно унаследовать i2. И при компиляции выдает: Error #1069: Не удалось найти свойство REMOVE_ME в AS.Game.Enemies.EnemyEasy; отсутствует значение по умолчанию, хотя вроде REMOVE_ME в этом классе есть. Подскажите, пожалуйста, как это можно исправить?