![]() |
Удаление объекта из другого, неродительского объекта.
Поясню subj:
1. Есть главный объект, он создает дочерний (каждый объект описан в отдельном AS файле, если это важно): Код AS3:
Код AS3:
Код AS3:
Код:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. |
Допустим, класс, в котором вы вызываете:
Код AS3:
Код AS3:
Код AS3:
Когда делаете removeChild проверяйте Avel на null, иначе будет ошибка 1009. |
Спасибо.
Забавно конечно, теперь ошибка вылетает реже, но все же вылетает. Видимо придется делать через флаг. Объект будет называть себя мертвым, а родитель будет его удалять. |
Если нужно просто уничтожить Avel, не задумываясь, что и откуда, и не заботясь о "красоте и грамотности кода", то:
Код AS1/AS2:
|
если у вас копипаст, то скобочки лишние: var Avel:GoodSon() <-вот тут.
больше похоже на то, что вы пытаетесь убрать с экрана то, чего там уже (еще) нет. попробуйте проверять есть ли там такой обьект, перед тем как его удалять. или можно просто в try{}catch побыстрячку удаление сделать. |
2. Kain не просит, а нагло пихает Avel'я в дети Main.
3. Не используйте parent, тем более с кастингом на as Main. Если уж так хочется передавайте ссылку на Main в конструкторе и храните её. 4. Лучше передавать родителям всё через события. 5. Для проверки есть ли у DisplayObjectContainer'а child есть специальный метод contains(); |
| Часовой пояс GMT +4, время: 12:33. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.