WebMIEM
ВебМИЭМ

Flash AS 3.0 - Урок 1: Перемещение по временной шкале

Flash AS 3.0 - Урок 1: Перемещение по временной шкале

Сообщение PETERs602 » Ср мар 31, 2010 5:52

Adobe Flash ActionScript 3.0 - Урок 1: Перемещение по временной шкале Flash
Системные требования: Adobe Flash CS3 или CS4
Lesson01.zip
Flash AS 3.0 - Урок 1: Перемещение по временной шкале
(920.3 Кб) Скачиваний: 1343


Работа с временными метками.
Метки во Flash позволяют дать уникальное название любому ключевому кадру на временной шкале. Например, с помощью Action Script вы сможете перенаправлять воспроизведение на нужный вам ключевой кадр с помощью обращения к его уникальной метке.

1. Выберите кадр 30 в слое labels на временной шкале.
2. Добавьте в нём ключевой кадр: нажмите клавишу F6, или выберите Insert->Timeline->Keyframe.
3. При выделенном кадре найдите панель Properties(Свойства) и в поле Name(Frame в CS3) напишите название метки endLoop.
4. Нажмите клавишу Enter, после чего вы сможете на временной шкале увидеть название метки в 30 кадре.

Создание циклической анимации.
Часто встречаются ситуации, когда нужно зациклить воспроизведение на каком-то отрезке временной шкалы. Например, можно циклически воспроизводить одну и туже анимацию до загрузки других материалов или в то время, когда посетитель сайта выбирает в какой раздел ему перейти.
В качестве первого знакомства мы зациклим анимацию со 2 до 30 кадра, а затем добавим код для управления количеством повторов анимации перед переходом на 50 кадр.

1. Настройте свою рабочую область, чтобы на ней была видна панель Actions(Windows->Actions).
2. Выберите верхний слой на временной шкале и добавьте новый слой над ним(Insert->Timeline->Layer). Назовите слой actions. В нём мы будем размещать код Action Script.
3. В новом слое actions выберите 30 кадр и создайте в нём ключевой кадр.
4. Выбрав новый ключевой кадр, щёлкните на панели Actions и напишите в ней следующий код:
Код: Выделить всё
gotoAndPlay("loop");

Данная команда означает, что нужно перейти на ключевой кадр с меткой loop и начать воспроизведение.
5. Сохраните файл и протестируйте ролик (Ctrl+Enter в Windows или Cmd+Return в MacOS). При просмотре ролика обратите внимание, что кадр home уже не показывается, так как после кадра endLoop начинается показ кадра loop.

Подсчёт количества циклов.
Мы научимся программировать переход в кадр home после определенного количества повторов, но вначале надо добавить код, который будет подсчитывать сколько раз была показана анимация.

Создание переменной count.
Переменные позволяют хранить данные, то есть мы сможем после каждого показа нашей анимации увеличивать значение переменной и тем самым вести подсчёт количества показов нашей анимации.

1. Выберите кадр 1 на слое actions, после чего перейдите в панель Actions.
2. Введите следующий код:
Код: Выделить всё
var count:Number=1;


Давайте более подробно рассмотрим создание переменных в ActionScript 3.0:
var - объявляет ActionScript о том, что вы создаёте новую переменную;
count - название переменной, вы можете использовать в названии любые латинские буквы и цифры, а также нижнее подчёркивание и дефисы, название переменной должно начинаться только с латинской буквы и не может начинаться с цифры;
:Number - двоеточие указывает, что дальше будет указан тип данных, которые будут хранится в переменной, в нашем случае мы будем хранить в переменной числа, поэтому напишем Number;
= - после знака равно следуюет значение, которое будет хранится в переменной.


Обновление переменной count.
Чтобы изменить значение переменной мы добавим код в 30 кадр. Обратите внимание, что мы специально повторяем нашу анимацию со 2 кадра, так как если анимация будет повторяться с 1 кадра, то в начале каждого повтора анимации будет создаваться новая переменная count равная 1, что сделает невозможным подсчет количества повторов анимации.

1.Выберите ключевой кадр на 30 кадре слоя actions и выберите панель Actions.
2. Введите следующий код:
Код: Выделить всё
count++;


Данный код будет каждый раз при проигрывании 30 кадра увеличивать значение переменной на единицу. Такая опреация называется Инкремент.

Инкремент (увеличение) — операция увеличения на некоторую фиксированную величину, или же в некоторых случаях на изменяемую. Обратную операцию называют декремент (уменьшение), которая в данном случае могла бы выглядить: count--.


Отображение количества воспроизведений в текстовом поле.
Теперь у нас есть переменная, которая содержит информацию о количестве воспроизведений нашей анимации, но эта информация никуда не выводится и мы её не видим. Поэтому мы выведим эту информацию в текстовое поле.

1. Выберите текстовое поле, содержащиеся в слое text.
Обратите внимание, что что в панели Properties указано, что это динамическое текстовое поле и ему дано название info_txt. Важно чтобы у всех объектов, которыми управляет ActionScript были названия.
2. На слое actions выделите кадр 2 и добавьте ключевой кадр.
3. Перейдите в панель Actions.
4. Введите следующий код:
Код: Выделить всё
info_txt.text = String(count);

5. Сохраните файл и протестируйте ролик.

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

1. Выберите 30 кадр на слое actions. После чего перейдите в панель Actions.
2. Найдите и удалите следующий код:
Код: Выделить всё
count++;
gotoAndPlay("loop");

вместо него напишите следующий код:
Код: Выделить всё
count++;
if(count>4){
   gotoAndStop("home");
} else {
   gotoAndPlay("loop");
}

3. Сохраните файл и протестируйте ролик.

Обновление текста в кадре home.
Так как в этом кадре анимация уже не повторяется, то выводить количество повторов анимации не имеет смысла. Поэтому мы выведим в нашем тестовом поле, например, приветствие.

1. Добавьте ключевой кадр на 50 кадре слоя actions.
2. Перейдите в панель Actions и добавбте следующий код:
Код: Выделить всё
info_txt.text = "Привет всем!!!";

3. Сохраните файл и протестируйте ролик.
Обратите внимание, что новый текст выводится в томже текстовом поле, что и количество повторов анимации.

Самостоятельные задания:
1. Изменить цвет текста, которым выводится количесво воспроизведений анимации.
2. Изменить количесво воспроизведений анимации.
3. Изменить код, так чтобы в 50 кадре в текстовом поле info_txt отображался другой текст.
4. Добавить в 50 кадре новое текстовое поле и написать код, который будет выводить в него текст.
Аватара пользователя
PETERs602
Site Admin
 
Сообщения: 810
Зарегистрирован: Ср сен 06, 2006 0:42
Откуда: Д123

Re: Flash AS 3.0 - Урок 1: Перемещение по временной шкале

Сообщение leonid » Сб дек 04, 2010 19:53

Класс помогло...))) спасибо.
leonid
 

Re: Flash AS 3.0 - Урок 1: Перемещение по временной шкале

Сообщение Slava » Ср май 09, 2012 15:22

Супер!!! Отличный пример!
Аватара пользователя
Slava
 
Сообщения: 10
Зарегистрирован: Вт дек 13, 2011 22:17


Вернуться в Общий

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron
line
www.WebMIEM.ru © 2006-2010