
08.11.2012, 12:28
|
|
блогер
Регистрация: Feb 2006
Сообщений: 1,474
|
Допустим имеется загруженная BitmapData в виде полоски из кадров с одинаковым размером каждого кадра
(Есть ещё варианты с проходом скриптом по исходным картинкам с обрезкой пустых областей в каждом кадре и запоминанием смещений для каждого кадра и запаковкой всего этого в amf или другой формат)
Способы изменения кадров:
- выделять кадр скролл-ректом (могут быть баги при использовании getChildsUnderMouse, может провацировать бОльшие области перерисовки)
- рисовать прямоугольник размером с кадр, пододвигая bitmapData, которой он заливается с помощью матрицы
- разбить BitmapData на отдельные и подставлять в Bitmap
Примечание:
Нарисованный прямоугольник рендериться незначительно медленнее чем подстановка в Bitmap. А разбивание большого количества битмапок на мелкие может подморозить плеер (собственно поэтому и появились методы использования битмапдат сразу без разбивки)
Способы смены кадров во времени:
- по ENTER_FRAME
- по TIMER
- по ENTER_FRAME, но с учётом задержки, т.е. frame = (getTimer() - _animationStartTime) * 0.001 * ANIMATION_FPS
|