Показать сообщение отдельно
Старый 12.03.2015, 17:49
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 5  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,921
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Код некрасивый. Последний кусок с ошибкой.
Вы передаёте вместо индекса с которого удалить объект сам объект в removeChildAt.
Я подозреваю, вы хотели написать просто removeChild.
Но так или иначе, один(последний добавленный) элемент массива удалён не будет, сами угадайте, почему.

Добавлено через 2 минуты
И прикол в том, что вы скорее всего случайно удалили сам MainTimeline из DL
Поэтому ссылка на stage пропадает, скорее всего, и вылетает эта ошибка.

Добавлено через 8 минут
Секунду, на лицо непонимание различий между stage.addChild и просто addChild.
Объясняю: stage.numChildren == 1 в самом начале.
trace(stage.getChildAt(0)); == object MainTimeline.

На сцене находится главная линия времени.
Когда вы пишете addChild(item), вы неявно используете this.addChild(item), тоесть добавляете item не рядом с MainTimeline, а в дисплей лист самого MainTimeline(который изначально пуст). Удаляя item из stage не удалит объект, который вы добавляли в Main, так как его попросту там нет.

Да, stage.contains(item) выдаст true, потому, что этот метод учитывает вложенности.

Добавлено через 12 минут
P.S. код очень некрасивый.
__________________
There is no thing in this world that is not simple.