|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[+1 08.07.09]
Регистрация: Mar 2009
Сообщений: 107
|
Рисование и как правильно удалять объекты?
Доброго времени суток.
Изучаю рисование во флеше и столкнулся с вопросом. Как объект Box правильно удалить, то есть чтобы его вообще не существовало? Как наиболее грамотно перерисовать объект Box, например изменить цвет? |
|
|||||
[+1 08.07.09]
Регистрация: Mar 2009
Сообщений: 107
|
а если используешь второй способ, то removeChild(box) автоматически выполняется?
Добавлено через 3 минуты кстати box.clear(); не сработало! 1061: Call to a possibly undefined method clear through a reference with static type flash.display:Shape. Добавлено через 6 минут И еще вопрос первый и второй коды чем то различаются, так как внешне разницы нет? Left1 = new Shape(); Left1.graphics.beginFill(0xB88955, 1); Left1.graphics.drawRect(-123, 0, 125, 19); Left1 = new Shape(); Left1.graphics.beginFill(0xFF0000, 1); Left1.graphics.drawRect(-123, 0, 125, 19); Последний раз редактировалось vvvvvvf; 29.04.2009 в 22:45. |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Цитата:
Объект существует, пока на него ведет хотя бы одна ссылка. Если вы сделали box = null, то на объект ведет ссылка из контейнера в который он был добавлен через addChild. Поэтому сначала делает removeChild, а потом обнуляете. Цитата:
Цитата:
|
|
|||||
Регистрация: Apr 2009
Сообщений: 7
|
Небольшое дополнение: даже если на объект не указывает ни одна ссылка, он все рано продолжает существовать еще некоторое время, пока не будет удален сборщиком мусора. Поэтому рекомендуется перед удалением объекта деактивировать весь активный код объекта (например циклы), поскольку он может негативно повлиять на выполнение программы.
|
|
|||||
стервочка (я мужик)
|
Цитата:
|
Часовой пояс GMT +4, время: 20:13. |
|
« Предыдущая тема | Следующая тема » |
|
|