![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Новичок ![]() Группа: Новичок Сообщений: 4 Регистрация: 17.12.2011 Пользователь №: 10809 ![]() |
Всем привет. Недавно начал осваивать flash.
Делаю анимацию следующим образом: например у меня 20 кадров (разные картинки). я создаю 20 объектов. делаю visible=falsh а при запуске анимации, у видимой картинки делаю visible=falsh, а у следующего кадра vusible=true... перебор кадров посредством: addEventListener(Event.ENTER_FRAME, animation); Код пишу на FlashDevelop У меня всё работает, но... Чутьё подсказывает, что делаю это как-то коряво. Перерыл все поисковики, но не смог найти информации о том, как правильно сделать анимацию... Так как же всё-таки правильно реализуется анимация из нескольких кадров-картинок.? Покажите, пожалуйста простой пример.... |
|
|
![]() |
![]()
Сообщение
#2
|
|
Заряд: 100% ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1118 Регистрация: 12.03.2008 Пользователь №: 4145 ![]() |
Цитата а при запуске анимации, у видимой картинки делаю visible=falsh, а у следующего кадра vusible=true... Ужас. А что головка таймлайна совсем обленилась? Открываете редактор Flash, рисуете вручную каждый кадр и всё. Он сам будет всё проигрывать, не надо парится с visible = falsh и true. |
|
|
![]()
Сообщение
#3
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4957 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Цитата Так как же всё-таки правильно реализуется анимация из нескольких кадров-картинок.? nikolay00700 Анимацию нужно делать без использования ActionScript (без переключений true/false видимости объектов). Просто размещая изображения в кадрах таймлана. Вариантов здесь три: 1. Нарисовать покадрово на таймлане. О чём выше сказал HaWK. 2. Если изображения уже есть в отдельных файлах и хочется их использоваться (в этом случае нужно хорошо подумать и учесть все факторы, т.к. другие варианты более предпочтительны), то загружаете все эти изображения в проект и размещаете по одному по кадрам таймлайна. 3. Использовать для создания промежуточных кадров анимации Motion Tween или Shape (там где это подходит). Что позволит не создавать промежуточные кадры вручную. -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#4
|
|
Новичок ![]() Группа: Новичок Сообщений: 4 Регистрация: 17.12.2011 Пользователь №: 10809 ![]() |
Я пишу на FlashDevelop, там нет такого понятия поместить во фрейм...
|
|
|
![]()
Сообщение
#5
|
|
Новичок ![]() Группа: Новичок Сообщений: 4 Регистрация: 17.12.2011 Пользователь №: 10809 ![]() |
Вот примерный код:
------------------------------------------------------------------------ public var coin:Array = new Array(); // переменная содержит массив из объектов монетки public var coin_ani_status:int; // этап анимации монетки // создаем 9 объектов - 9 кадров движения монетки... делаем visible=false public function creat_coin():void { var coin1:coin_01 = new coin_01(); coin[1] = coin1; var coin2:coin_02 = new coin_02(); coin[2] = coin2; var coin3:coin_03 = new coin_03(); coin[3] = coin3; var coin4:coin_04 = new coin_04(); coin[4] = coin4; var coin5:coin_05 = new coin_05(); coin[5] = coin5; var coin6:coin_06 = new coin_06(); coin[6] = coin6; var coin7:coin_07 = new coin_07(); coin[7] = coin7; var coin8:coin_08 = new coin_08(); coin[8] = coin8; var coin9:coin_09 = new coin_09(); coin[9] = coin9; for (var b:int = 1; b <= 9; b++) { coin[b].visible = false; coin[b].x = 8; coin[b].y = 438; addChild(coin[b]); } } // запуск анимации монетки public function coin_animation():void { addEventListener(Event.ENTER_FRAME, animation_coin); } // сама анимация монетки public function animation_coin(e:Event):void { var t:int = int(coin_ani_status); if (t == 1) {coin[1].visible = true;} if (t == 2) {coin[1].visible = false; coin[2].visible = true;} if (t == 3) { coin[2].visible = false; coin[3].visible = true; } if (t == 4) { coin[3].visible = false; coin[4].visible = true; } if (t == 5) { coin[4].visible = false; coin[5].visible = true; } if (t == 6) { coin[5].visible = false; coin[6].visible = true; } if (t == 7) { coin[6].visible = false; coin[7].visible = true; } if (t == 8) { coin[7].visible = false; coin[8].visible = true; } if (t == 9) { coin[8].visible = false; coin[9].visible = true; } if (t == 10) { coin[9].visible = false; coin[1].visible = true; } if (t == 11) {coin[1].visible = false; coin[2].visible = true;} if (t == 12) { coin[2].visible = false; coin[3].visible = true; } if (t == 13) { coin[3].visible = false; coin[4].visible = true; } if (t == 14) { coin[4].visible = false; coin[5].visible = true; } if (t == 15) { coin[5].visible = false; coin[6].visible = true; } if (t == 16) { coin[6].visible = false; coin[7].visible = true; } if (t == 17) { coin[7].visible = false; coin[8].visible = true; } if (t == 18) { coin[8].visible = false; coin[9].visible = true; } if (t == 19) { coin[9].visible = false; coin[1].visible = true; } if (t == 90) { coin_ani_status = 0; } coin_ani_status = coin_ani_status + 1; } ------------------------------------------------------------------- Всё это работает без проблем. Но мне кажется, что можно сделать всё гораздо проще. Объясните как сделать по-другому... |
|
|
![]()
Сообщение
#6
|
|
Новичок ![]() Группа: Новичок Сообщений: 4 Регистрация: 17.12.2011 Пользователь №: 10809 ![]() |
Ну есть кто-нибудь?
|
|
|
![]()
Сообщение
#7
|
|
Заряд: 100% ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1118 Регистрация: 12.03.2008 Пользователь №: 4145 ![]() |
Приятель, ты выбрал какой-то очень фиговый способ анимировать. Найди себе редактор Flash (Adobe Flash CS* или Flash от Macromedia).
|
|
|
![]()
Сообщение
#8
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1181 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
// создаем 9 объектов - 9 кадров движения монетки... делаем visible=false В данном случае кадр только 1 (один). Просто видимость объектов меняется в этом одном кадре. А можно делать многокадровые анимации (с использованием так называемого таймлайна). Для этого нужен либо флеш-редактор (платный), либо очень сильно напрячься и во FD попытаться построить байт-массив-свф-ку, которая содержит нужные кадры (т.к. нативным скриптом создается мувик только с 1 кадром). Но 2-й способ - мегаизврат. -------------------- |
|
|
![]()
Сообщение
#9
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4957 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Надеюсь nikolay00700 понял все доступные способы создания анимации во флеше, о которых мы ему написали. Добавлю к сказанному chingachgoog.
Что помимо флеш-редактора (старых версий от Macromedia или новых версий от Adobe) есть ещё и другие программы, как платные, так бесплатные, которые можно использовать для создания swf-файлов (о которых я писал на форуме). В том числе и флешки с анимацией. -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 29.07.2014 - 04:39 |