Что происходит с каждым кадром в анимационной игре Flash ActionScript - PullRequest
2 голосов
/ 06 января 2012

Я новичок в Flash, Actionscript и Animation.Мой опыт работы с Java.

Я пытаюсь понять анимацию во флэш-памяти.Я пытаюсь узнать, что происходит в каждом кадре movie_clip.Стадия вспышки работает со скоростью 12 или 60 кадров в секунду.Все предметы имеют разную анимацию.Теперь, как происходит анимация для 5-6 различных объектов в игре?

Есть ли рассчитанный временной шаг или дельта?Это одинаково для всех анимаций или разные анимации должны иметь разные дельты?Рассчитывается ли дельта в каком-либо событии или в каждом кадре.

Лучше ли анимировать на основе кадров, т. Е. Для 60 кадров поместите немного другую картинку, чтобы персонаж прошелся?

Это лучше?чтобы анимировать программно, используя actioncript gotoAndStop или другую функцию goto frame.

Извините, если этот вопрос не ясен, так как я немного запутался.

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 07 января 2012

Если вы анимируете на временной шкале, Flash Player попытается отобразить сцену с частотой кадров, которую вы установили в свойствах проекта.Каждый видеоклип на сцене будет обновляться с той же скоростью.Однако, если у вас есть сложные анимации или много объектов на сцене одновременно, Flash Player может быть трудно справиться с этой частотой кадров, поэтому он будет работать медленнее.Скорость компьютера, на котором он работает, также влияет на это.Таким образом, если вы установите для своего фильма скорость 30 кадров в секунду, Flash сделает все возможное, чтобы обновить анимацию 30 раз в секунду, но он может работать только с фактической скоростью 20 или 25. Или же он может работать в большинстве случаев в 30 раз., но бросьте, когда все усложняется.Обратите внимание, что он не будет пропускать кадры, он будет воспроизводить их медленнее.

По этой причине часто лучше создавать анимации программным способом, чтобы можно было рассчитать дельту времени и перемещать объекты на основе этого.Таким образом, если частота кадров падает, анимация может быть немного короткой, но все не замедляется.Это может быть очень важно в играх.

Вы добьетесь максимальной производительности, используя спрайт-листы и «перетягивая» свои объекты на растровое полотно.По сути, вы помещаете все кадры анимации в одно изображение, а затем копируете их по отдельности и объединяете в одно большое растровое изображение, представляющее игровой экран.Это будет намного быстрее, чем помещать каждое изображение в отдельный кадр в мувиклипе.

0 голосов
/ 06 января 2012

У меня крайне ограниченный опыт работы с Flash, но насколько я знаю, есть два основных вида анимации. Вы можете анимировать по ключевым кадрам шаг за шагом, где вы в основном рисуете каждый кадр, или есть «анимация», где вы рисуете начальную и конечную позиции движения, а затем Flash рассчитывает промежуточные кадры для вас. Полагаю, что «лучше», это были бы подростки, потому что в SWF-файле меньше данных для сохранения.

...