Показать сообщение отдельно
Старый 11.10.2013, 14:13
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 10  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
А я у каждого объекта создаю переменную life, если объект умирает, то значение становится life false и соответственно перед битьём проверяется значение life.
Это тоже не правильно. Ну нет у него жизней, в человеческом понимании, но для программы то он живее всех живых.
Цитата:
А почему так? это ж вроде как одна ссылка на один экземпляр
Экземпляр один, а ссылки разные.
Самый разумный способ - это в классе Hero сделать метод, в котором все, что он насоздавал внутри, уничтожается, и зануляются все ссылки на внешние объекты (если таковые имеются)
И дальше уничтожение свелось бы к такой логике:
Код AS3:
if (hero != null) {
    hero.dispose();
    var index:int = someArray.indexOf(hero); // и сносим из массива, раз уж он там
    if (index > -1) someArray.splice(index, 1); 
    hero = null;
}