Здравствуйте, гость ( Вход | Регистрация )

> анимация
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
nikolay00700
сообщение 17.12.2011 - 12:26
Сообщение #1


Новичок
*

Группа: Новичок
Сообщений: 4
Регистрация: 17.12.2011
Пользователь №: 10809



Всем привет. Недавно начал осваивать flash.

Делаю анимацию следующим образом:

например у меня 20 кадров (разные картинки).
я создаю 20 объектов. делаю visible=falsh

а при запуске анимации, у видимой картинки делаю visible=falsh, а у следующего кадра vusible=true...

перебор кадров посредством: addEventListener(Event.ENTER_FRAME, animation);

Код пишу на FlashDevelop

У меня всё работает, но...
Чутьё подсказывает, что делаю это как-то коряво. Перерыл все поисковики, но не смог найти информации о том, как правильно сделать анимацию...


Так как же всё-таки правильно реализуется анимация из нескольких кадров-картинок.? Покажите, пожалуйста простой пример....
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов (1 - 8)
HaWK
сообщение 17.12.2011 - 16:05
Сообщение #2


Заряд: 100%
*****

Группа: Модераторы
Сообщений: 1118
Регистрация: 12.03.2008
Пользователь №: 4145



Цитата
а при запуске анимации, у видимой картинки делаю visible=falsh, а у следующего кадра vusible=true...

Ужас. А что головка таймлайна совсем обленилась? Открываете редактор Flash, рисуете вручную каждый кадр и всё. Он сам будет всё проигрывать, не надо парится с visible = falsh и true.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 17.12.2011 - 16:14
Сообщение #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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
nikolay00700
сообщение 17.12.2011 - 17:58
Сообщение #4


Новичок
*

Группа: Новичок
Сообщений: 4
Регистрация: 17.12.2011
Пользователь №: 10809



Я пишу на FlashDevelop, там нет такого понятия поместить во фрейм...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
nikolay00700
сообщение 17.12.2011 - 18:10
Сообщение #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;


}


-------------------------------------------------------------------

Всё это работает без проблем. Но мне кажется, что можно сделать всё гораздо проще.
Объясните как сделать по-другому...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
nikolay00700
сообщение 18.12.2011 - 15:05
Сообщение #6


Новичок
*

Группа: Новичок
Сообщений: 4
Регистрация: 17.12.2011
Пользователь №: 10809



Ну есть кто-нибудь?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
HaWK
сообщение 18.12.2011 - 17:46
Сообщение #7


Заряд: 100%
*****

Группа: Модераторы
Сообщений: 1118
Регистрация: 12.03.2008
Пользователь №: 4145



Приятель, ты выбрал какой-то очень фиговый способ анимировать. Найди себе редактор Flash (Adobe Flash CS* или Flash от Macromedia).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 19.12.2011 - 12:47
Сообщение #8


Ветеран конференции
*****

Группа: Пользователь
Сообщений: 1181
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



Цитата(nikolay00700 @ 17.12.2011 - 19:10) *
// создаем 9 объектов - 9 кадров движения монетки... делаем visible=false


В данном случае кадр только 1 (один). Просто видимость объектов меняется в этом одном кадре.
А можно делать многокадровые анимации (с использованием так называемого таймлайна). Для этого нужен либо флеш-редактор (платный), либо очень сильно напрячься и во FD попытаться построить байт-массив-свф-ку, которая содержит нужные кадры (т.к. нативным скриптом создается мувик только с 1 кадром). Но 2-й способ - мегаизврат.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 5.01.2012 - 01:08
Сообщение #9


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4957
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Надеюсь nikolay00700 понял все доступные способы создания анимации во флеше, о которых мы ему написали. Добавлю к сказанному chingachgoog.

Что помимо флеш-редактора (старых версий от Macromedia или новых версий от Adobe) есть ещё и другие программы, как платные, так бесплатные, которые можно использовать для создания swf-файлов (о которых я писал на форуме). В том числе и флешки с анимацией.


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 29.07.2014 - 04:39