Показать сообщение отдельно
Старый 27.05.2011, 23:42
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 5  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от vbpro Посмотреть сообщение
А что насчет кадров - если клип использует только 1 кадр из тех, что есть внутри него, остальные висят в памяти и тормозят его или нет?
При переходе на кадр плеер удаляет все объекты из предыдущего кадра, кроме созданных программно. Но с нуля создаёт новые, находящиеся в кадре. Объекты остальных кадров не рисуются и не создаются. Но сам MovieClip более прожорлив чем Sprite.
Пустой первый кадр может помочь немного.

А вообще, советую следующее:
Отказаться от мувиклипов и каждый специфический объект делать отдельным спрайтом.
вместо gotoAndStop(frame)
использовать
getDefinitionByName("ShipClass"+frame);
примеры в хелпе.
Для каждого из таких объектов заводить свой отдельный пул объектов для реиспользования.
Если объекты Битмапы, а не вектор - то можно использовать общую bitmapData на все объекты одного типа.
Да и для вектора, можно предварительно отрисовать в битмапу, а затем её использовать.
Всё, конечно, зависит от контекста и преждевременная оптимизация не нужна.
Да и затраты на кэширование могут превысить профит, если объекты очень разнообразны.
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 27.05.2011 в 23:47.