Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Action Script 2.0

.docx
Скачиваний:
35
Добавлен:
12.03.2015
Размер:
64.98 Кб
Скачать

Пример 1. Создание маски

  1. Нанесите на сцену на единственный слой Фон экземпляр графического символа.

  2. Создайте новый слой выше слоя Фон и назовите его Маска.

  3. Щелкните на имени Маска правой клавишей мыши и выберите пункт Mask.

  4. Снимите блокировку слоя-маски.

  5. Нарисуйте на слое-маске фигуру так, чтобы она перекрывала часть изображения в маскируемом слое Фон.

  6. Протестируйте результат.

Пример 2. Использование нескольких масок, эффект увеличительного стекла

1. Присвойте единственному слою документа имя Текст и создайте в нем статический блок. Напишите в блоке любое четверостишие.

2. Создайте выше маскирующий слой Маска 2 и нарисуйте в нем прямоугольник, полностью закрывающий текст, внутри прямоугольника нарисуйте круг, который будет равен увеличительному стеклу. Удалите заливку круга.

3. Создайте выше еще один слой и поместите в нем увеличенный текст, для этого создайте копию первого текста и увеличьте у текста размер шрифта.

4. Еще выше создайте слой-маску Маска 1. В этом слое нарисуйте залитый круг такого же размера и местоположения, как и на слое Маска 2 (размеры и координаты можно узнать на панели свойств Properties).

5. Протестируйте результат.

6. Создайте выше еще один слой и нарисуйте в нем обрамление стекла и ручку линзы.

Анимация масок

Пример 3. Освещение лучом фонарика темного места в интерьере

  1. Откройте любой графический рисунок (желательно здание или интерьер комнаты) в редакторе Adobe PhotoShop. Создайте и сохраните в формате IPEG две копии рисунка, одну темную, а другую – светлую.

  2. Импортируйте оба изображения в библиотеку документа Flash (File – Import – Import to Library).

  3. Создайте три слоя с именами: Темный, Светлый, Маска. Нижний слой – Темный. На два нижних слоя поместите темный и светлый рисунки, совпадающие по размеру и местоположению.

  4. На слое-маске создайте анимацию движения (motion) пятна от фонарика  (всего кадров 60, анимацию создайте по кривой траетории с изменением размеров пятна).

  5. На каждом слое создайте одинаковое количество кадров.

  6. Протестируйте результат.

Задание

Задание 1. Создание клипов-масок.

  1. Создайте символ типа Movie clip, в котором изобразите движение объекта любого вида, любым способом. Этот клип может быть и просто статическим изображением. Это будет маскируемый клип.

  2. Нанесите экземпляр символа на сцену и дайте экземпляру символа имя masked.

  3. Создайте символ типа Movie clip, в котором изобразите движение объекта любого вида, любым способом. Возможно движение по направляющей. Это будет клип-маска.

  4. Создайте на сцене слой-маску и перенесите в него экземпляр клипа-маски. Присвойте экземпляру символа имя mask (в поле Instance Name).

  5. Протестируйте результат.

Рекомендации:

1 Клип-маска должен быть довольно крупным изображением на всех участках анимации.

2. Возможно создание на сцене двух нормальных  слоев для экземпляров клипов. В этом случае слой-маску создают в сценарии, для кадра нижнего слоя нужно написать оператор:

masked.setMask(mask);

  1. Можно поместить оба клипа на один нормальный слой. После этого для кадра необходимо написать указанный выше оператор. При использовании сценариев результат выглядит интереснее.

Задание 2.

Обеспечьте с помощью масок вывод на экран четверостишия по буквам и построчно. Выведенная строка должна оставаться на экране.

Лабораторная работа № 5

Элементы пользовательского интерфейса, кнопки

Цель работы: создание кнопок, изучение разнообразных приемов работы с кнопками.

Кнопки являются наиболее часто используемым элементом пользовательского интерфейса. Кнопки способны реагировать на события. Функциональностью кнопки можно наделить текст, элемент статической графики или клип. Кнопки можно создавать самостоятельно, а также пользоваться уже имеющимися в библиотеках готовыми кнопками. Вызов библиотеки кнопок осуществляется командой:

Wiпdоw – ОthеrРаnеls – Соmmоn Libraries - Buttons

Пример 1. Создание символа кнопки

1. Выполните команду Insert – New Symbol – Button.

В режиме редактирования нового символа возникнут 4 кадра, которые будут соответствовать:

Up – указатель мыши не находится над кнопкой.

Over – указатель мыши находится над кнопкой.

Down – указатель мыши находится над кнопкой и нажата левая клавиша мыши.

Hit – кадр для определения активной области кнопки, реагирующей на нажатие кнопки мыши.

2. Оформите внешний вид кнопки в каждом из кадров.

3. Перенесите символ кнопки на сцену.

Пример 2 Переход по ссылке при нажатии на кнопку:

1. Выделите кнопку и откройте находящуюся внизу экрана панель создания программных кодовActions – Button. Напишите следующий код.

on (release){

getURL(“путь к файлу или ресурсу”)    }

Примечание: событие release означает, что обработка события начнется после того, как пользователь наведет указатель мыши на кнопку, нажмет клавишу мыши и отпустит ее.

Пример 3 Прокручивание текста в поле ввода данных

В этом примере при вводе большого текста его можно прокручивать вверх и вниз.

1. Найдите в общей библиотеке кнопок кнопки Key-Up u Key-Down и нанесите их на сцену в слой Кнопки. Выше слоя Кнопки создайте слой Текст и в нем создайте  текстовый блок Input text. Присвойте текстовому блоку имя mytext (в поле Instance Name), смените на панели свойств режим Single line  на  режим Multiline.

2. Выделите кнопку со стрелкой вверх и на панели Action для этой выделенной кнопки напишите:

on(release) {        mytext.scroll=mytext.scroll-2;  }

Выделите кнопку со стрелкой вниз и напишите:

on(release) { mytext.scroll=mytext.scroll+2; }

3. Протестируйте результат.

Пример 4. Анализ введенных с экрана данных

  1. Создайте символ типа Button, укажите в кадрах внешний вид кнопок (переход от кадра к кадру F6).

  2. Нанесите на сцену экземпляр символа кнопка и напишите для него код. По событию release будет происходить анализ вводимого пользователем возраста.

  3. При вводе возраста в поле Input Text это значение заносится в переменную  с именем age1. Имя переменной  age1 необходимо записать в свойство   var. Следует указать в Instance Names  age (имя объекта Input Text) и  var  age1 (имя переменной).

  4. Напишите код для кнопки:

on (release) { var age1:Number;

if (age1==16) trace («Ваш возраст – юный»);

else trace («age =»+age1); }

Слово trace означает, что используется окно вывода Output. В окне Output появится либо сообщениеваш возраст – юный, либо надпись age=число. Этот пример можно изменить, если на сцену добавить объект Dynamic Text, тогда сообщения можно выводить в его поле, например,  дать объекту  Dynamic Text имя vivod,  задать в  var имя переменной age2 и изменить код для кнопки. При этом произойдет анализ возраста и вывод сообщений не в окно вывода сообщений, а в область динамического текста.

on (release) {

var age1:Number;

if  (age1==16) age2=»Ваш возраст – юный«;

else age2=age1;

}

Задание

  1. Создайте символ кнопки, используя в качестве основы надпись Static Text. По событию release данной кнопки выведите на экран любой файл.

  2. Нанесите на сцену кнопку, созданную любым способом. Для события release у этой кнопки напишите программный код, в котором обрабатывается введенная пользователем с экрана информация.  Пользователь вводит радиус круга и видит на экране длину окружности и площадь круга.

 

Лабораторная работа №6

Программирование на языке ActionScript при создании Flash документов

Цель работы: использование программных кодов для создания Flash документов.

Сценарии ActionScript

При разработке Flash – документа можно обойтись и без сценариев. Но с помощью сценариев можно обеспечивать интерактивность, управлять загрузкой и воспроизведением Flash – документов, создавать эффекты анимации без шкалы Timeline, описывать действия, совершаемые при наступлении событий.

Сценарии могут быть привязаны к кадрам временной шкалы или символам,  например типа Movie clip или  Button (кнопкам).

Сценарии, привязанные к кадру, начинают выполняться тогда, когда проигрыватель приступит к воспроизведению этого кадра.

Сценарии, привязанные к символу, обычно выполняют обработку различных событий, которые могут быть связаны с этим символом.

Для написания сценариев служит панель Action (действия). В заголовке этой панели указывается, к чему относится сценарий: к кадру, символу или кнопке.

Сценарии и язык ActionScript

Обработка событий

Приложения должны поддерживать режим взаимодействия с пользователем – интерактивность.

Для обеспечения интерактивности требуются три вещи: элементы, способные реагировать на события (events), собственно события и обработчики событий (handlers). Элементами, которые способны реагировать на события являются символы типа Button, Movie Clip и компоненты пользовательского интерфейса.

Обработка событий происходит через функции, которые называются обработчиками событий и описываются в сценариях. Символы Button и Movie clip реагируют на события, связанные с мышью и клавиатурой.

События:

  • press – кнопка мыши нажата, когда указатель находится в пределах объекта;

  • release – кнопка мыши отжата, когда указатель находится в пределах объекта, наводится на него;

  • releaseOutside – кнопка мыши отжата, когда указатель находится вне пределов объекта (сдвиг, перетаскивание);

  • rollOver – указатель мыши входит в пределы объекта (указал, но не нажал);

  • rollOut  указатель мыши выходит за пределы объекта;

  • keyPress – была нажата одна из клавиш: Left, Right, Home, End, Insert, Delete, Up, Down, Tab, Enter (возможно программирование обработки нажатия любой клавиши).

 

Обработчик события – это функция on()

Синтаксис:

on (событие) {

Код, обрабатывающий событие

}

Для компонента Button из библиотеки   Components – UI Component  используется событие Click.    Усимвола Button это событие использовать нельзя. Символы типа Movie Clip могут реагировать на рассмотренные ранее события. Но они способны реагировать и на события, которые обрабатываются функцией

on ClipEvent()  {

код, обрабатывающий событие

}

События:

1. load – при загрузке клипа в память;

2. unload – при выгрузке клипа из памяти;

3. enterFrame – при вводе каждого кадра клипа; эти действия выполняются самыми первыми.

4. mouseDown, mouseUp – нажатие и отпускание левой кнопки мыши;

5. mouseMove – при перемещении указателя мыши;

6.  _xmouse _ymouse – для получения координат указателя мыши

и др.

Основы языка сценариев ActionScript

Программы на языке ActionScript можно хранить в отдельных файлах с расширением .as.  Для использования программ из внешних файлов в программах  Flash – документа используется директива

#include “имя файла” (без точки с запятой)

Путь к файлу может быть абсолютным и относительным.

Типы данных

В языке ActionScript существуют следующие типы данных:

  1. Строковый или символьный  String – последовательность символов в двойных или одиночных кавычках;

  2. Числовой Number – число, возможно со знаком, дробная часть от целой отделяется точкой;

  3. Логический  Boolean может принимать только два значения true – истина и   false – ложь;

  4. Undefined – этот тип данных  имеет только одно значение undefined, т. е. не определен;

  5. Object – объект или программный объект, определяемый своими свойствами;

  6. Function – программный код, после выполнения которого возвращается некоторое значение;

  7. MovieClip – объект, который может выполняться как Flash-мультфильм.

Переменные

Имя переменной должно начинаться с буквы или символа подчеркивания, пробелы и знаки препинания не допускаются. Нельзя использовать ключевые слова языка в качестве имен переменных.

Примеры имен переменных:

myName=”Иван “;

Объявление переменных

var x:Number;

var y:Number=5;

var z:String=””;

var name=”Петр”, address, x=3.14;

При объявлении переменной можно явно указывать ее тип, можно тип не указывать.

Комментарии

// – вся строка считается комментарием;

/*…*/ – комментарий для нескольких строк.

Арифметические операторы:

+ – сложение;

- – вычитание;

*, / – умножение, деление;

% - вычисление остатка от деления;

++ – увеличение на единицу;

– – уменьшение на единицу.

Значение true считается единицей, а значение  false – нулем.

Примеры:

+=

Х+=У

Х=Х+1

-=

Х-=У

Х=Х-У

*=

Х*=У

Х=Х*У

/=

Х/=У

Х=Х/У

%=

Х%=У

Х=Х%У

Операторы сравнения: = =; !=; >; >=; <; <=

Логические операторы: ! – отрицание НЕ, && – логическое И, || – логическое ИЛИ.

Операторы условного перехода

if  (условие)

{код, который выполняется, если условие верно}

{код, который выполняется, если условие не верно}  Часть else может не использоваться. Операторы сравнения можно вкладывать друг в друга, а также возможно использование варианта

else if

if (условие 1)

{код, если условие 1 выполнено}

else  {if (условие 2)

{код, если условие 2 выполнено  }

else { код, если условие 2 не выполнено }

}

Возможно использование знака ? в качестве сокращенной формы условного оператора if…else.

Синтаксис:

Условие ? выражение 1:выражение 2

Оператор условия возвращает  значение выражения выражение 1, если условие истинно, иначе возвращается значение выражения   выражение 2.

x=1;

trace(x<5? “х меньше 5”:x);

Оператор switch

При необходимости проверки многих условий подряд удобно использовать оператор switch.

Синтаксис

switch {выражение){

case вариант 1:

код

[break]

case вариант 2:

код

[break]

[default:

код]

}

Значение выражения в операторе switch может быть числовым, строковым или логическим.  Если указан параметр default, то код следом за ним выполняется только, если значение выражения не соответствует ни одному варианту. Если значение выражения совпало с каким-либо вариантом и есть оператор break, то остальные варианты не выполняются, если оператора break нет, выполняются коды и остальных вариантов до тех пор, пока не встретится первый break.

Операторы цикла

Синтаксис оператора   со счетчиком цикла

for  ([ начальное значение];  [условие]; [выражение обновления])

{

код

}

Возможны варианты с использованием

break – принудительный выход из цикла не по условию

continue – прекращение выполнения и возврат в начало  оператора цикла, где проверяется условие цикла.

Синтаксис оператора цикла  while

while (условие)

{  код  }

Сначала  производится проверка условия, если условие выполняется, то выполняется тело цикла, иначе код не выполняется.

Оператор do while

do

{

код

}

while (условие)

В этом случае оператор do-while -  код, т. е. тело цикла выполняется хотя бы один раз. Условие проверяется после выполнения тела цикла (кода).

Массивы

При работе с массивами используется слово  Array(элемент 0,…элемент N), каждый массив имеет имя.

Создание массива:  имя массива=newArray([длина массива])

Длина массива хранится в свойстве   length, чтобы узнать длину массива следует указать имя массива и свойство:  имя_массива.length.

Пример:

address= newArray(4)

address[0]=”Казань”

address[1]=”Амирхана”

address[2]=”д.2”

address[3]=”кв. 4”

 

Пример 1: Перемещение клипа к месту нахождения указателя мыши

  1. Создайте новый клип – символ типа Movie clip (нарисуйте любую фигуру).

  2. Перейдите на сцену и перенесите на нее из окна библиотеки экземпляр созданного клипа, присвойте в свойствах экземпляру клипа имя – myclip.

  3. На панели Action  для клипа напишите сценарий:

onClipEvent(mouseMove){

_root.myclip._x=_root._xmouse;

_root.myclip._y=_root._ymouse;

}

Ключевое слово root указывает на главную временную шкалу мультфильма; свойства   _xmouse  и _ymouse указывают на текущие координаты указателя мыши.

  1. Протестируйте документ, выполнив команду Control – Test Movie. Клип следует за указателем мыши.

Пример 2. Движение в реальном времени

Создание мультфильма с часами, у которых стрелки движутся в соответствии с реальным временем

Пояснения:

new – ключевое слово, которое используется при создании массива.

Date – объект даты.

Для манипуляции с объектом даты используются методы.

Синтаксис:

Переменная=имяобъекта.метод();

Примеры методов:

getHours() – взять значение часов в 24-часовом формате.

getMonth() – взять значение месяца (от 0 до 11).

setMonth(значение) – установить значение месяца (январь=0).

1. Создайте пять символов типа Movie clip:

- циферблат часов

- часовая стрелка

- минутная стрелка

- секундная стрелка

- центр (кружок), который закроет место соединения часовой и минутной стрелки.

2. На сцене создайте нужное количество слоев, которым присвойте соответствующие имена:

циферблат, часовая, минутная, секундная, центр, дата, вращение (тип каждого слоя – Normal, самый нижний слой – циферблат).

3. В каждом слое поместите нужный элемент часов.  При перемещении экземпляров символов стрелок из окна библиотеки на сцену на панели Properties укажите для каждой стрелки имена: h – часовая, m– минутная, s – секундная, имена указываются в поле Instance Name (имя для Movie clip, а не  Frame). Важно, чтобы все стрелки были выставлены на 12 часов.

4. В слое дата создайте два текстовых объекта, для вывода текущей даты и дня недели.  Текстовые блоки типа Dynamic Text, они размещаются один над другим выше центра циферблата. На панели свойств Properties в поле  Var введите имя xdate – для блока даты и xday – для блока дня недели.

5. Слой вращения предназначен для сценария, который будет управлять вращением стрелок.

6. Сделайте активным слой вращение и выделите первый ключевой кадр. На панели Actions напишите сценарий для Frame:

mydate=new Date(); //создаем объект даты

hr=mydate.getHours(); //получаем значение часов

min=mydate.getMinutes(); // получаем значение минут

sec=mydate.getSeconds(); // получаем значение секунд

h._rotation=(hr+min/60)*360/12; //поворот часовой стрелки

m._rotation=(min+sec/60)*6; //поворот минутной стрелки

s._rotation=sec*6; //поворот секундной  стрелки

day=mydate.getDate(); //получаем значение числа

month=mydate.getMonth(); //получаем значение месяца

year=mydate.getFullYear(); //получаем значение года

xdate=(day+».»+(month+1)+».»+year);

aday=new Array(«Воскресенье»,»Понедельник»,»Вторник»,»Среда»,»Четверг»,»Пятница»,»Суббота»);

xday=aday[mydate.getDay()];    //получаем день недели по его        номеру

7. В каждом слое создайте второй ключевой кадр.

8. Протестируйте результат.

Пример 3. Межкадровые переходы

1. Создайте 4 символа типа Button, оформите внешний вид каждой кнопки, задавая вид и надписи на кнопках. Кнопки выглядят эффектно при радиальной заливке.

2. Перенесите на сцену экземпляры кнопок.

3. Для каждой кнопки на монтажном столе (Action Button) напишите код перехода к другому кадру. Порядок переходов зависит от вашего желания.

Примеры кодов для кнопок:

on (release) {

_root.gotoAndStop(1);   }

//для первой кнопки переход на первый кадр

 

on (release) {

_root.prevFrame();} //переход к предыдущему кадру

//для второй кнопки

on (release) {

_root.nextFrame();} //для третьей кнопки переход к        //следующему     кадру

 

on (release) {

_root.gotoAndStop(5); //переход к последнему кадру, у нас их

//будет всего 5.

}

4. Создайте в общей сложности 5 ключевых кадров.

5. В каждом кадре создайте уникальную надпись (например: первый кадр, второй кадр и т.д.).

6. Выделите первый кадр и для Action Frame напишите код Stop(); (это приводит к остановке на первом кадре).

7. Протестируйте результат.

Повторите пример, используя кнопки из библиотеки Window – OtherPanels – Common Libraries – Button. (Найдите кнопки с соответствующими переходам изображениями.)

Пример 4. Настройка компонентов пользовательского интерфейса

1. Для кардинальной модификации объектов можно использовать прикладной программный интерфейс форматирования (Styles API), с его помощью можно изменять цвет и формат текста компонента. В данном примере показано как можно программно менять внешний вид компонента кнопки.

2. Выполните команду File – Import – Open External Library и найдите тему, которую хотите применить к компонентам, а именно:

Program Files – Macromedia – Flash MX 2004 – en – First Run – ComponentFla – SampleTheme

1. Выполните команду меню  Window – Library.

2. Выполните команду меню  Window – Development Panels – Components. Далее среди Components выберите папку UI Components. Кнопку  Button перенесите на монтажный стол.

3. На панели Properties  в поле Instance Name задайте имя кнопки, например, b1. В поле Label наберите название кнопки.

4. Из библиотеки SampleTheme перенесите в свою библиотеку папку с ресурсами Button Assets (2 компонента по очереди).

5. Для первого кадра напишите программный код:

b1.setStyle(«buttonColor»,0x0000CC);

//b1.setStyle(«clearButton»,0x0000CC);

//b1.setStyle(«themeColor»,haloGreen);

b1.setStyle(«fontSize»,16);

b1.setStyle(«fontStyle»,»italic»);

b1.setStyle(«fontWeight»,»bold»);

b1.setStyle(«color»,0xFFFFFF);

Значение цвета можно выбирать, если раскрыть  на панели инструментов Fill Color (цвет заливки).

8. Протестируйте результат.

9. Для кнопки напишите код:

on(click){ //для компонента кнопка используется событие click

trace («Был щелчок по мыши»);}

10. Протестируйте результат.

Примечание:

1. Вставьте второй ключевой кадр и напишите для второго кадра код, аналогично коду для кадра 1.

2. Оформите второй кадр по своему желанию.

3. Добавьте в код для кнопки

_root.gotoAndStop(2);

4. В начале кода для кадра добавьте stop();

5. Протестируйте результат.

Пример 5. Добавление в документ файла .swf

1                   В существующем документе выберите вторую (либо другую, кроме первой) страницу, создайте на ней новую кнопку и для этой кнопки напишите код загрузки исполняемого файла, например, вращение планеты вокруг солнца:

on(release) {             loadMovieNum(“file:///D:Рабочая/flash/солнышко.swf”,1); }

2.На первой странице для кадра напишите код

stop();

unloadMovieNum(1);

(1 – это номер уровня Level, куда загружается файл)

 

Лабораторная работа №7

Анимация с помощью ActionScript

Цель работы: создание анимации с помощью сценариев на языке Action Script.

Объекты

Объекты – это программные единицы, которые имеют фиксированные названия и обладают некоторыми свойствами.  Все свойства делятся на два вида: просто свойства и методы. Свойства аналогичны переменным, они имеют имена и значения. Методы аналогичны функциям, они могут иметь  параметры. В ActionScript математические вычисления, обработка строк и дат, создание массивов производятся с помощью соответствующих встроенных объектов. Для разработки интерактивных приложений часто используются следующие объекты:

String – обработка строк

Array – массивы

Math – математические формулы и константы

Методы объекта Math: abs(число),   cos(число),  max(число1,число2),  min(число1,число2), random(число) – датчик псевдослучайных чисел, sin(число),  sqrt(число)- возвращает квадратный корень числа.

Date – работа с датами и временем

Методы объекта Date: getMonth(),  getDate(),  getDay(), getHourse(),  getTime(), setDate(знач), setDay(знач),  setTime(знач,) setYear(знач) (get – получить значение, set – установить значение).

Number – обработка чисел

Методы объекта Number:  toString([основание]) - возвращает строковое представление числа в системе счисления с указанным основанием.

Color – цвет

MovieClip – клип

Button – кнопка

Mouse – мышь

Key – обработка нажатий клавиши

Для использования какого-то типа объекта создают свой объект с произвольным именем. Синтаксис создания экземпляра объекта:

Имя_переменной =new имя объекта(параметры)

Имя переменной выполняет роль ссылки на объект.

Для доступа к свойствам и методам используют синтаксис:

имя_объекта.свойства

имя_объекта.метод([параметры])

Некоторые функции приведения данных к требуемому типу

String (выражение) – функция переводит числовые данные в строковые, если данные и были строковые, то возвращается то же значение выражения;

Boolean (выражение) – функция приводит данные к логическому типу, а именно:

- если тип был логический, то возвращается то же значение;

- если тип был числовой, то возвращается true, если число не равно нулю, иначе возвращается false;

- если тип был строковый, то результат может быть разным.

Number (выражение) – функция для перевода выражения в число:

- если выражение было числом, то и возвращается то же число;

- если выражение имело строковый тип, то функция пытается преобразовать его в число, если это не удается, то результат равен Nan;

- если выражение было логическим, то результат равен 1 или 0, соответственно для true и false.

Методы объекта String

1. indexOf(строка_поиска)[,индекс]

Синтаксис: строка.indexOf(строка_поиска) – этот метод производит поиск строки и возвращает индекс ее первого вхождения.

2. substr() – метод возвращает подстроку исходной строки, исходная строка при этом не меняется.

Синтаксис: строка.substr(индекс [,длина]), если длина подстроки не указана, то до конца строки.

Пример 1 Анимация движения с помощью сценария

1. Создайте символ типа Movie clip и нарисуйте в нем простую фигуру, например круг.

2. Перенесите экземпляр символа на сцену, ближе к середине ее левой границы. На панели Properties укажите имя экземпляра символа, например myclip. Это необходимо для получения доступа к нему из сценария. Экземпляр myclip должен находиться в первом ключевом кадре.

3. Рядом с ключевым добавьте обычный кадр.

4. Выделите первый ключевой кадр и на панели Action напишите сценарий для кадра

myclip._x=myclip._x+5;

myclip._y=-150*Math.sin(0.05*myclip._x)+400;

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

5. Протестируйте результат.

Пример 2 Использование функции setInterval()

С помощью функции setInterval() периодически вызывается другая заданная функция через указанный интервал времени.

1. Создайте символ Movie clip и нарисуйте в нем простую фигуру, перенесите экземпляр символа на сцену.

2. Напишите сценарий для кадра

setInterval (myfunc,300); // вызов функции через 300 миллисекунд

function myfunc() {

myclip._x=myclip._x+5;

myclip._y=-150*Math.sin(0.05*myclip._x)+400; }

Пример 3 Анимация и прекращение движения с помощью сценария.

1. Создайте символ Movie clip и нарисуйте в нем простую фигуру.

2. Перенесите экземпляр символа на сцену аналогично примеру 1.

3. Напишите сценарий для кадра

mydate=new Date;  //создаем объект даты

t=mydate.getTime();

id=setInterval (myfunc,500); //запуск периодического вызова функции с интервалом 0,5 сек

function myfunc() {

myclip._x=myclip._x+5;

myclip._y=-150*Math.sin(0.05*myclip._x)+300;

mydate= new Date;

if (mydate.getTime()-t>30000) {//проверка условия остановки

clearInterval(id); } //остановка

}

Значение, возвращаемое функцией setInterval(), сохраняется в переменной id и передается функции clearInterval(). Текущее время сравнивается с начальным, сохраненным в t. Если разность значений больше 30 секунд, вызывается функция clearInterval(), временной процесс прекращается.

4. Протестируйте результат.

Пример 4 Вращение колеса.

  1. Создайте символ типа Movie clip, назовите его Колесо и нарисуйте колесо.

Рекомендации. В режиме редактирования символа создайте два слоя Колесо и Диск. В слое Шина нарисуйте круг, залейте радиальным градиентом так, чтобы шина была темной в центре и на внешнем крае, а в средней части более светлой.  Примените заливку точно в центре колеса. Нарисуйте диск и залейте градиентом, внешний край круга сделайте темнее, а центр оставьте светло-серым. С помощью кисти добавьте детали: отверстия по окружности и колпак в центре. Совместите шину и диск. Выделите внешний контур шины и в свойствах  выберите стиль линии – пунктир, толщиной 4, цвет – черный. Добавьте колесу асимметричности, чтобы эффект вращения был отчетливо выражен. Для этого создайте еще один слой – Шероховатость, карандашом нанесите на колесо несколько коротких волнообразных  линий, стиль линии выберите прерывистый и неровный.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]