![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2009
Сообщений: 220
|
Цитата:
и не вникли в тему. |
|
|||||
|
Вы говорите про спрайты, я про клипы.
upd.: проверил. Фактической перерисовки не происходит, о чем говорит стабильный ФПС при добавлении 1000 клипов с visible = false. Вывод: show redraw regions обманывает. Последний раз редактировалось Волгоградец; 12.11.2009 в 16:11. |
|
|||||
|
У клипов есть кадры, которые меняются. Он меняет кадр, на этом перерисовка оканчивается.
Тех, кто для удаления использует try, catch - мне не понять. Он работает очень медленно, это раз. И два - какой должна быть структура кода, чтобы везде отлавливать ошибки?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
Цитата:
|
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Цитата:
//ранее obj, возможно, уже был создан, и (также возможно) добавлен в контейнер //container здесь указывает на контейнер, в который добавляем объект (если код //находится в контейнере, то this) if (obj && container.contains(obj)) container.removeChild(obj); obj = new Sprite(); container.addChild(obj); Ошибок никогда не возникнет ни в первом, ни во втором случаях. Если, конечно, obj имеет тип DisplayObject =) |
|
|||||
|
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
show redraw regions очень хорошо демонстируют, что что-то там происходит (по крайней мере у меня)
может быть, действительно, это не сильно напрягает флешплеер.. вообще show redraw regions довольно странно отображал у меня наследников SimpleButton.. |
|
|||||
|
SamFR, всё же код несколько разный. Второй вариант 100% удалит из дисплей листа (хотя я бы parent перекастовал всё же), а в первом никто не гарантирует, что container - это родитель.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Ну я и не говорил, что они абсолютно идентичны) Поэтому и привёл тут как первый, так и второй вариант.
А вот зачем перекастовывать parent, понять не могу. Мы же предполагаем, что obj имеет тип DisplayObject, а у него свойство parent имеет тип DisplayObjectContainer, и приведение тут просто незачем. Если же obj может не быть DisplayObject-ом, то мы, скорее всего, где-то ошиблись в проектировании структуры программы. И, в любом случае, простая перекастовка тут не поможет – либо вылетит ошибка (если свойства parent у объекта нет), либо приведение даст null, если свойство имеет несовместимый с DisplayObjectContainer тип. И, опять же, вылетит ошибка, так как мы попытаемся обратиться к методу нуля. |
|
|||||
|
Ох, точно... DisplayObjectContainer. Почему то взбрендело в голову, что просто DisplayObject. Да, SamFR, Вы правы, перекастовывать не нужно.
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|