![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2011
Сообщений: 83
|
Привет. Хочу узнать. Допустим имеется набор картинок с анимацией, как лучше сделать смену этой анимации что бы получить анимацию персонажа?
|
|
|||||
|
Регистрация: Dec 2006
Сообщений: 1,764
|
запихнуть их в отдельный мувик и проигрывать их по отдельности
__________________
а за окном атлантический океан! |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 83
|
Прошу прощения что сразу не уточнил. Нужно без мувиклипов. Просто загружать картинки и менять их программно
|
|
|||||
|
Регистрация: Aug 2012
Сообщений: 7
|
А как быстрее будет выполнятся анимация, каждый кадр менять битмапдату(если есть массив битмап) или считывать данные с спрайтшита(я так думаю copypixel используется в данном методе)?
|
|
|||||
|
Модрон-ветеринар
|
Я делал как-то анимацию на основе быстрой смены битмап в AS2, приаттачивал-удалял по onEnterFrame. Ничего, шустренько получилось, несмотря на разрешение 1000 на 700 пикселей. Правда библиотеки графические здоровые были, но для десктопного приложения решение было приемлемым.
__________________
Идите первым! |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 7
|
Я вот пока использую массив битмадаты. по onEnterFrame присваиваю объекту необходимую мне битмапдату.
На сайте Карлова вычитал такое, что атласы лучше использовать для gpu, а так нет разницы. типа тогда видяха получается сразу весь лист анимации а не по частям. Но, в away3d, сколько я видел примеров, битмапдата присваивают текстуре объекта. получается эффект тот же, что мы у себя в кэше берем инфу о кадре и снова шлем видяхе. либо я чего-то не понимаю. По поводу спрайтшитов, на один атлас помещается не только анимация одного объекта а может быть и нескольких. если объекты разных размеров, тогда в атласах может появится много свободного, неиспользуемого места. либо писать алгоритм для компактного размещения кадров на атласе, но это ведь атласы генерится дольше будут. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 125
|
http://www.johnny-k.ru/?p=2731 просто по теме
|
|
|||||
|
Допустим имеется загруженная BitmapData в виде полоски из кадров с одинаковым размером каждого кадра
(Есть ещё варианты с проходом скриптом по исходным картинкам с обрезкой пустых областей в каждом кадре и запоминанием смещений для каждого кадра и запаковкой всего этого в amf или другой формат) Способы изменения кадров: - выделять кадр скролл-ректом (могут быть баги при использовании getChildsUnderMouse, может провацировать бОльшие области перерисовки) - рисовать прямоугольник размером с кадр, пододвигая bitmapData, которой он заливается с помощью матрицы - разбить BitmapData на отдельные и подставлять в Bitmap Примечание: Нарисованный прямоугольник рендериться незначительно медленнее чем подстановка в Bitmap. А разбивание большого количества битмапок на мелкие может подморозить плеер (собственно поэтому и появились методы использования битмапдат сразу без разбивки) Способы смены кадров во времени: - по ENTER_FRAME - по TIMER - по ENTER_FRAME, но с учётом задержки, т.е. frame = (getTimer() - _animationStartTime) * 0.001 * ANIMATION_FPS |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:27. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|