Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная.doc
Скачиваний:
39
Добавлен:
19.03.2016
Размер:
2.58 Mб
Скачать

Упражнение 2. Программа управления шаром

Рис. 3. Интерфейс программы управления объектом

1. Создайте символ (Name:shar,Behavior:Movie Clip). Для этого выбрать пункт менюInsertNew Symbol. Нарисуйте анимируемый круг, с центром в точке (0; 0). После рисования выйти из символа (нажать наScene 1вверху над линейкой времени).

2. Создайте символ (Name: Tr, Behavior: Button). Для этого выберите пункт менюInsertNew Symbol. Нарисуйте треугольник с центром в точке (0; 0). После рисования выйдите из символа.

3. Перенесите из библиотеки один символ sharи 4 символаTr. Поверните 3 треугольника на90,180и270градусов соответственно. Разместите их как показано на рис. 3.

4. Дайте символу sharимя экземпляраshar1. ТолькоMovie Clipможет иметь имя экземпляра. По этому имени можно будет из программы обращаться к шару и менять его свойства (управлять им).

5. Выделите кнопку перемещения шара вверх и в панели Actionsнапишите программу, которая при событии щелчок кнопкой мыши будет перемещать шар с именемshar1на10пикселов вверх:

on (release) {

shar1._y = shar1._y-10;

}

6) Аналогично напишите скрипты для остальных трех кнопок.

Контрольные вопросы

  1. Назначение и порядок создания символа Buttonво Flash.

  2. Кадры во временной диаграмме символа Buttonи их назначение.

  3. Как сделать кнопку интерактивной в фильме?

  4. Как настроить на выполнение конкретного действия экземпляр кнопки?

Задание 2.5

Примеры реализации статических и динамических процессов с использованием средств мультимедиа технологии

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

Краткие теоретические сведения

Интерактивные элементы

Для разработки интерактивных элементов во Flash используется три основных компонента:

1) событие (EVENT), порождающее определенное действие;

2) действие (action), порождаемое тем или иным событием;

3) целевой объект (target), выполняющий действие или изменяемый событием.

Событие

Для добавления интерактивности необходимо определить событие, которое может быть вызвано либо явным образом, либо по истечении некоторого интервала времени.

События происходят от мыши, клавиатуры или по таймеру.

События мыши

Press - нажатие на кнопку мыши.

Release - щелчок кнопкой мыши внутри объекта.

Release Outside - нажатие кнопки мыши внутри, а отпускание за пределами объекта.

Roll Over - перемещение указателя над объектом.

Roll Out - перемещение указателя мыши за пределы объекта.

Drag Over - перетаскивание. Нажимается кнопка мыши внутри объекта, а затем перемещается указатель мыши за пределы объекта и затем перемещается указатель внутрь объекта и опускается кнопка.

Drag Out - перетаскивание. Нажимается кнопка мыши внутри объекта, а затем перемещается указатель мыши за пределы объекта и затем опускается кнопка.

Эти события определены только для объекта кнопка.

События клавиатуры

Возникают принажатии одной из клавиш АЦК или клавиши <Backspace>, <Insert>, <Home>, <End>, <Pafe Up>, <Page Down>. События клавиатуры определяются с учетом регистра.

События кадров

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

События кадров помещаются в ключевые кадры и используются для выполнения каких-либо действий в определенное время. Например, действие Stop приведет к остановке фильма, а действие Go to используется для перехода к другому кадру или сцене на шкале времени.

Целевые объекты

Необходимо также указывать объекты, на которые будет воздействовать событие. События могут воздействовать на три основных типа целевых объектов: текущий фильм и его шкала времени, другие фильмы и соответствующие им шкалы времени и внешние приложения (например, IE).

Действия

Действия позволяют передавать фильмам ил ивнешним приложениям команды к выполнению определенных задач. Одно событие может вызывать несколько действий, которые могут выполняться для нескольких объектов.

Go to - переход к указанному кадру, метке или сцене по шкале времени фильма с последующей остановкой или воспроизведением, с данной точки. Параметр Control позволяет указать следует остановить фильм на указанном кадре или продолжить его воспроизведение с этого кадра.

On (Release)

Go to and Play (Intro, 10)

End On

On (Release)

Begin Tell Target ("/Brooks")

Go to and Stop (5)

End Tell Target

EndOn

Play - вызывает воспроизведение фильма с текущего кадра. Если вопроизведение фильма было прервано командами Stop или Goto and Stop, оно может быть продолжено только с использованием Play.

On(Press)

Play

EndOn

Stop - вызывает остановку воспроизведения фильма. Действие можно применить к любому кадру, который Вы хотите видеть в течение длительного времени.

Toggle High Quality - используется для включения и выключения режима сглаживания (с целью повышения скорости воспроизведения на системах с низким быстродействием).

Stop All Sounds - прекращает воспроизведение звукового сопровождения во всех фильмах и экземплярах клипов, воспроизводящихся программой Flash Player.

Get URL - для открытия в окне браузера ресурса с указанным адресов URL или передачи данных по указанному адресу URL.

Параметры:

URL - определяет URL, используемый при выполнении операции. В качестве значения может быть указан относительный или абсолютный путь. Если Ваш фильм размещен

на HTML-странице, вы можете использовать поле URL для вызова функции JavaScript, находящейся на этой странице (например, в виде javascript:fun1()).

Window - позволяет указать в каком окне открывать ресурс, находящийся по указанному адресу URL.

Veriables - метод обработки переменных в текущем фильме при использовании действия Get URL. Может

Tell Target - предшествует действиям, применяемым к любой шкале времени, кроме текущей. Используется для управления фильмами, отличными от текущего, для назначения или изменения значений переменных шкалы времени, отличной от текущей, или для установки свойств определенного экземпляра клипа.

Имеет параметр Target для указания целевого объекта. Позволяет управлять одним фильмом из другого.

On (Release)

Begin Tell target ("/MyClip")

Go to and Stop ("Label1")

End Tell target

End On

If (условие)

Else

EndIf - условный оператор. В зависимости от условия выполняется та или иная ветвь.

Loop While - для циклическогол выполнения определенных действий.

Call - вызов подпрограммы со сценарием ActionScript. Подпрограмма - набор действий в ключевой кадре, которому назначена определенная метка. Параметром команды Call является название метки. Действия записанные в подпрограмме выполняются без перехода шкалы времени на этот кадр.

Метка кадра, к которой выполняется обращение, может находиться в любой

шкале времени, находящейся в проигрывателе Flash. если этот кадр не загружен, то команда Call игнорируется.

Set Property - задает положение, размер, ориентацию, прозрачность, видимость и имя любого фильма (символа) в проигрывателе.

Параметр Set представляет свойства, которые могут быть изменены. Может принимать следующие значения:

XPosition,YPosition,XScale,yScale(в процентах),Alpha(0-100),Visibility(false,true),Rotation(- против часовой стрелки),Name.

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

On (Release)

Set Property ("/MyClip", Alpha) = "50"

End On

On (Release)

Set Property ("/MyClip")

Set Property (" ", Alpha) = "50"

End Tell Target

EndOn

Set Variable - для создания переменной с присвоением ей начального значения или для обновления значения ранее созданной переменной.

On (Release)

Set Variable: "MyA" = "30"

Set Property ("/MyClip", Alpha) = MyA

End On

Start Drag - позволяет активизировать режим перетаскивания экземпляра клипа в пределах одного фильма, что означает возможность перемещения элементов фильма в процессе его воспроизведения.

Параметр Target указывает экземпляр клипа, подлежащий перетаскиванию.

Параметр Constrain to Rectangle - задает ограничивающий прямоугольник для перетаскивания.

Параметр Lock Mouse to Center - центрировать объект относительно указателя мыши.

Stop Drag - завершить перетаскивание.

On(Press)

Start Drag("/MyClip", L=250, T=200, R=450, B=400, lockcenter)

End On

On (Release Outside)

StopDrag

EndOn

Используется для организации настраиваемого интерфейса, создания ползунков и полос прокрутки.

Trace - при выполнении этой команды на экране отображается определенное

сообщение, например, содержимое переменной, которое не выводится при просмотре окончательного варианта фильма.

Comment - комментарий в программе.

Работа с действиями

Создание действий

1) Дважды щелкните по кнопке для определения события мыши или клавиатуры или дважды щелкните по ключевому кадру для определения события кадра.

2) В появившемся окне выберите вкладку Action.

3) Нажмите кнопку "+" для отображения меню действий.

4) Выберите тип события (например, On Mouse Event - событие от мыши).

5) Установите параметры события.

6) Снова нажмите "+" и выберите действие, например, Set Veriable.

7) В правой части установите свойства выбранного действия.

8) при необходимости добавления еще одного действия перейдите на 6).

Удаление действий

Выберите действие в окне Action и нажмите "-".

Изменение последовательности действий

Выберите действие в окне Action и нажмите кнопку "вверх" или "вниз".

Создание сценариев ActionScript

Переменные - контейнер, используемый для хранения определенного значения.

Имена переменных должны начинаться с буквы латинскогоо алфавита. Последующие символы должны быть буквами, цифрами или знаком подчеркивания. Регистр не имеет значения.

С помощью команды Set Variable можно создать переменные и изменить их значения.

Переменные бывают следующих типов:

1) числовые 0-999999.

Set Variable: "Age" = 29

2) символьные

Set Variable: "Name" = "Ivan"

Set Variable: "Fraza" = "My Name is " & Name

3) логические - принимает значение true и false

4) пустое значение - пустая строка.

SetVariable: "NoName" = ""

Выражения

Для создания выражений используются операторы.

Числовые операторы используются для создания числовых выражений.

К ним относятся +-*/.

Числовые операторы сравнения используются для получения логических значений

(true и false) для организации циклов и условных переходов. К ним относятся: <,>,<=,>=,=,<>.

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

& - конкатенация.

Числовые операторы сравнения используются для получения логических значений

(true и false) для организации циклов и условных переходов. К ним относятся:

eq,ne,lt,gt,le,ge.

Set Variable: "Name" = "Вася"

If Name <> ""

Set Variable: "M" = "Message for " & Name

END IF

Логические операторы используются в выражениях для проверки истинности тех иил иных условий. Они применяются совместно с If и Loop While.

Логические операторы and, or, not.

Задание 1. Создать визуальное отображение строки загрузки с отображением процента загрузки.

В предыдущей лабораторной работе событие назначалось кнопке. Событие можно задать кадру. При передаче управления кадру происходит выполнение команд прописанных в этом кадре.

1) Создать слои и кадры как показано на рис. Для этого:

- на первом кадре первого слоя два раза нажать F5. На 4-ом кадре первого слоя нажатьF6.

- на каждом кадре второго слоя (с первого по четвертый) нажать F6.

Нажатие на кнопку F6 создает ключевой кадр.

Нажатие на кнопку F5 создает статический кадр.

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

Ключевой кадр может быть пустым (3-ий кадр второго слоя).

Ключевой кадр помечается черной точкой, пустой ключевой кадр - кружком, а ключевой кадр, которому назначено действие, – маленькой буквой a (такими являются кадры 1, 2, 4 второго слоя).

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

Статическими кадрами являются 2-ой и 3-ий первого слоя.

Если вы хотите постоянно видеть в анимации одно и то же изображение - необходимо использовать обычные кадры. Вы должны поместить изображение в первый кадр вашего фильма, а затем добавить столько обычных кадров, сколько нужно, чтобы изображение было видно на протяжении всего фильма. Если же вы поместите изображение в первый кадр вашего фильма, но не дополните шкалу времени обычными кадрами, изображение будет видно только в первом кадре.

Обычные кадры, следующие за заполненным ключевым кадром, имеют светло-серый цвет, а обычные кадры, расположенные после пустого ключевого кадра, - белый цвет.

2) Создать символ типа MovieClipс именемM_polzun — голубой прямоугольник произвольной ширины и высоты (например, 100х16). Выйти из символа.

3) Создать символ MovieClipM_ramka— черная окантовка шириной 400 пикселов и высотой какM_polzun.

4) На первом слое первого кадра поместить объекты M_polzunиM_ramka. Экземпляру объектаM_polzunдать имя polz (ПанельInstance)

5) На первом слое первого кадра на сцену поместить 2 текстовых поля:

- Static Text с надписью Loading.

- DynamicTextбез надписи (для вывода процента загрузки) — в центре объектаpolz.Variable:Textpro.

6) В 4-ом кадре первого слоя поместить - StaticTextс надписью “Загрузка завершена”.

7) В первом кадре второго слоя написать скрипт:

if (pro<100) {

pro = pro+1;

polz._width = pro*4;

Textpro=pro+ "%";

} else{

gotoAndPlay(3);

}

Пояснение скрипта: Если процент загрузки меньше 100, то увеличиваем его на 1 и увеличиваем ширину голубого прямоугольника на 4 пиксела, затем изменяем надпись в Textpro. Если достигли 100%, осуществляется переход на кадр 3 с последующим воспроизведением клипа с третьего кадра.

8) Во втором кадре второго слоя написать скрипт:

gotoAndPlay(1);

Пояснение скрипта: перейти к кадру 1 и продолжать воспроизведение с него.

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

9) В четвертом кадре второго слоя написать скрипт

Stop();

Команда Stop() остановит воспроизведение клипа (после появления надписи “Загрузка завершена”).

Задание 2. Создать анимацию для отображения слова их шаров с буквами

На первом кадре находится кнопка и строка ввода типа InputTextдля ввода слова (Variable:Text1).

После ввода слова необходимо нажать кнопку.

Происходит переход на кадр 2. Для того, чтобы переход на кадр 2 не произошел при запуске программы, необходимо в 1-ом кадре записать команду Stop(); Первый кадр при этом помечается буквойа, что означает, что кадру поставлена последовательность действий при переходе к нему.

Для ввода команды в кадр необходимо щелкнуть на нем правой кнопкой мыши.

Первый кадр имеет код:

on(release) {

stop ();

}

Кнопка имеет код:

on (release) {

i= 1;

st=Text1; // Содержание строки ввода записываем в переменнуюst.

play();

}

В десятом кадре необходимо расположить на сцену символ foll, который представляет собой шарик, падающий по траектории, показанной на рис (его нужно создать предварительно). При падении шар меняет свои размеры. Для изменения размера созданы ключевые кадры. Вид шкалы времени клипа и траектория движения показаны ниже. Клип имеет имя экземпляра –f0.

В десятом кадре записан код:

duplicateMovieClip ("f0", "f"+i, i); //создает MovieClip копированием клипа f0

eval("f"+ i)._x = eval("f"+(i-1))._x+30;

eval("f"+i).s.t = substring(st,i,1);

i = i+1;

if (i<=length(st)) {

gotoAndPlay (2);

} else {

gotoAndStop (11);

}

Команда duplicateMovieClip ("f0", "f"+i, i) – автоматически создает MovieClip копированием клипа f0. Созданный клип получает имя экземпляра, заданного вторым параметром (“f1”, “f2”,f3”). Третий параметр задает расположение клипа по осиz.

Команда eval() позволяет получить ссылку на объект по имени объекта.

Команда substring(st,i,1) – позволяет получить подстроку строки, заданной первым параметром. В данном случае получаемi-ую букву.

Далее увеличивается на 1 номер буквы и осуществляем проверку: если все буквы выведены, то осуществляется переход на второй кадр для вывода очередной буквы (gotoAndPlay(2)). В случае, если все буквы выведены происходит переход на кадр 11 и остановка (gotoAndStop(11)).

В одиннадцатом кадре

stop(); // не обязательно

Контрольные вопросы

  1. Какие события имеются во Flash?

  2. Что означает параметр Target?

  3. Какие образом создаются действияво Flash?

  4. Чем отличаются события кадров от событий мыши и клавиатуры?

  5. Чем отличается Static TextотDynamic Text?