agiliter
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102
|
|
1 | |
Способы создания анимации во flash-приложении17.09.2014, 12:56. Просмотров 1016. Ответов 13
Метки нет Все метки)
(
Добрый день! Задался недавно вопросом: какие существуют способы создания анимации во flash-приложении? Один способ я знаю - создавать обычные картинки в as3 проекте и вручную (через таймер, например) менять их координаты, последовательность вывода и т.д. А есть ли еще способы? Существуют ли какие-нибудь бесплатные библиотеки, анимационный редактор или еще что-то в этом роде? Я полный профан в этой области и даже не знаю с чего начать. Например, мне нужно сделать:
1. здание, вокруг которого летают птицы, ходят люди 2. Потом, допустим, здание взрывается 3. Экран заволакивает дымом Как в этом сумбурном примере всё реализуется? Схематично, конечно Еще я слышал про Autodesk Maya, в котором можно создавать анимации. Как их потом прикручивать к as3 проекту?
0
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
17.09.2014, 12:56 |
Ответы с готовыми решениями:
13
Программа для создания Flash-анимации Создание flash анимации из файлов с изображением. Как во Flash-анимации открыть другую анимацию? Анимации создания и уничтожения объектов Программа для создания анимации |
TanaTiX
Модератор
|
|
17.09.2014, 21:51 | 2 |
agiliter, есть наверняка какие-то приложения по созданию флеш-анимации. Но Maya к ним не относится. С ее помощью можно визуализировать (в статическую картинку или в видео) 3Д-сцену. Но можно эту сцену реализовать при помощи 3Д-движка (Away, Alternativa3d) и на флеше. Выбор подхода определяется задачей и возможностями.
0
|
agiliter
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102
|
|
19.09.2014, 08:47 [ТС] | 3 |
А для программной анимации в плане производительности лучше использовать Event.ENTER_FRAME или Timer? Особенно, когда анимаций на сцене очень много.
0
|
agiliter
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102
|
|
19.09.2014, 09:56 [ТС] | 5 |
TanaTiX, хочу создать что-то вроде набора классов собственный анимаций. У каждого объекта будет по три анимации: анимация начала выстрела, анимация летящего снаряда и анимация взрыва при попадании. Вот я и думаю как это реализовать. Предполагаю при создании объекта задавать все три анимации ключевыми словами, а по ним по типу фабрики создавать экземпляры различных классов анимаций. Ничего лучше не придумал. Пока думаю, что таймер предпочтительнее, т.к. мне кажется, что большое количество слушателей должно как-то негативно влиять на производительность (тем более ENTER_FRAME). К тому же классы анимации по идее неплохо бы сделать универсальными, а от проекта к проекту частота кадров может меняться.
0
|
TanaTiX
Модератор
|
|
19.09.2014, 11:02 | 6 |
agiliter, когда-то участвовао в проекте, где как раз был выстрел, анимация полета снаряда и взрыв. Реализовывалось так:
1
|
bus
34 / 34 / 3
Регистрация: 17.05.2014
Сообщений: 144
|
|
19.09.2014, 11:41 | 7 |
В tween max, которая считается чуть ли не лучшей, анимация реализована на EnterFrame.
Там если я не ошибаюсь, каждый раз новый слушатель создается. Так что ничего плохого в EF нет. Но я бы сделал с единым EF, написал бы просто класс, куда передавал все анимации. И делать на одном EF смысла нет, нужно ещё привязка к дельте времени, но даже и так мало, нужно ещё эту дельту сглаживать. В общем, скачайте лучше готовый tween и не теряйте время. Естественно, там не будет анимации "полет снаряда" и ей подобной, но Вы напишите класс, куда будете передавать дисплей обжект, который будет анимироваться. И этот класс уже будет путешествовать от проекта к проекту. Если у Вас ещё и опыта достаточно, то напишите его легко расширяемым.
1
|
Theoryofgames
253 / 237 / 50
Регистрация: 20.12.2011
Сообщений: 707
|
|
19.09.2014, 14:38 | 8 |
Таймер и enterframe несут совершенно разные логические нагрузки и использовать то или другое нужно исходя из необходимой задачи.
Таймер рагантирует Вам, что событие будет воспроизведено через определенный интервал процессорного времени (+/- несколько милисекунд). EnterFrame Вам такого не гарантирует. Например 2 Вас фпс 30 и вы выставляете что через 30 кадров должно произойти событие. Это не значит, что событие произойдет через секунду. В течении этой секунды фпс может "просесть" до 20 и событие наступит через полторы секунды. Так что выбирать нужно исходя из конкретной задачи. Вообще, как уже было сказано выше в приложении не имеет смысла выставлять более 1 одного слушаетя на EnterFrame (исключением могут быть некоторые библиотеки, в которые уже вшит свой собственный enter frame), поэтому проблем с производительностью данный слушатель вызывать не должен. P.S. Сам использую ProxyTween с небольшими изменениями. Очень удобный твинер и довольно легкий.
1
|
agiliter
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102
|
|
22.09.2014, 09:52 [ТС] | 9 |
Меня собственно интересует сама кухня. Каким образом делают анимации и затем как их прикручивают к проекту. Не всё же программно делается. Допустим, художник нарисовал анимацию спрайтами. Имеется ввиду, что он просто отрисовал последовательность изображений? А собирает их в анимацию программист? Я кухни этой не знаю, но хочу понять всё детально.
0
|
TanaTiX
Модератор
|
|
22.09.2014, 10:04 | 10 |
agiliter, например, художник нарисовал бабочку, которая должна махать крыльями, следовать за курсором и за собой оставлять шлейф частиц, которые постепенно гаснут. Так вот художник/аниматор (на практике не редкость, когда это один человек) занимается анимацией непосредственно бабочки и рисует частицу (если там какой-то сильно хитрый эффект угасания, то его тоже можно сделать анимацией). А программист использует объект "бабочка", не задумываясь на внутренней анимацией, он лишь меняет положение этого объекта согласно положения мышки. Также программист следит, что бы частицы повлялись корректно и угасали, например, появлялись там, где находится в текущий момент бабочка и в течении 5 сек. смещались вниз на 50px и одновременно их alpha становится равной нулю, в этот момент происходит их удаление со сцены. Если анимация угасания реализована анимацией, то все сводится к определению ее окончания и, может, изменения координат частиц. Таким образом программисту совершенно фиолетово внутренне устройство "бабочки", но в зависимости от реализации его может интересовать устройство частицы.
0
|
agiliter
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102
|
|
22.09.2014, 10:20 [ТС] | 11 |
TanaTiX, спасибо. Это именно то, что я хотел узнать. А в каком формате пишется художником/аниматором этот объект "бабочка"? Бобочка.as что ли? Мне бы маленький пример такого стороннего анимированного объекта и его прикручивания. Не обязательно бабочка =) Хоть квадрат с кругом. Можно в личку. Лучше раз увидеть, как говориться)
0
|
agiliter
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 102
|
|
22.09.2014, 11:12 [ТС] | 13 |
т.е. если в приложении 10 тысяч анимаций, то подгружается 10 тысяч swf файлов? Многовато, но в принципе допустимо.
Типа твинмакса?
0
|
TanaTiX
Модератор
|
|
22.09.2014, 11:14 | 14 |
Если они разные - да, если одинаковые - нет. Все зависит от задачи.
Почитайте 1й урок: Авторские уроки и статьи
1
|
22.09.2014, 11:14 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
22.09.2014, 11:14 |
Увеличение памяти во Flash приложении Создания прелоадера на Flash Builder шаблон создания тестов в Adobe Flash Professional CS 5.5 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |