Показать сообщение отдельно
Старый 08.11.2012, 12:28
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 9  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Допустим имеется загруженная BitmapData в виде полоски из кадров с одинаковым размером каждого кадра
(Есть ещё варианты с проходом скриптом по исходным картинкам с обрезкой пустых областей в каждом кадре и запоминанием смещений для каждого кадра и запаковкой всего этого в amf или другой формат)

Способы изменения кадров:
- выделять кадр скролл-ректом (могут быть баги при использовании getChildsUnderMouse, может провацировать бОльшие области перерисовки)
- рисовать прямоугольник размером с кадр, пододвигая bitmapData, которой он заливается с помощью матрицы
- разбить BitmapData на отдельные и подставлять в Bitmap
Примечание:
Нарисованный прямоугольник рендериться незначительно медленнее чем подстановка в Bitmap. А разбивание большого количества битмапок на мелкие может подморозить плеер (собственно поэтому и появились методы использования битмапдат сразу без разбивки)

Способы смены кадров во времени:
- по ENTER_FRAME
- по TIMER
- по ENTER_FRAME, но с учётом задержки, т.е. frame = (getTimer() - _animationStartTime) * 0.001 * ANIMATION_FPS