Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CompGraphicsRGUIT.doc
Скачиваний:
72
Добавлен:
21.04.2014
Размер:
2.03 Mб
Скачать

Задание для самостоятельной работы

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

4.9. Action Script. Обработка событий. Интерактивное управление роликом

Событие– это первичное понятие, которое не имеет строгого определения. Примерыстандартных событий: действия пользователя с мышью и клавиатурой; ввод и вывод данных, завершение работы программы. Каждое событие вначале обрабатывается операционной системой, а затем может быть передано той программе (приложению), для которой оно предназначено. В данной программе кроме стандартных, обрабатываются специфические события, такие как загрузка клипа, достижение какого-либо кадра. Функции, которые вызываются когда происходит событие, называютсяобработчиками событий. По сложившейся традиции имена этих функций начинаются с префиксаon, например,onClick– обработчик события «нажатие на левую кнопку мыши»,onLoadMovie- обработчик завершения загрузки клипа.

Создание и использование кнопок

Кнопка– это библиотечный объект (символ) классаButton, используемый для получения информации о событиях мыши и клавиатуры. Она имеет свою собственную временную ось (TimeLine). Изображение кнопки в рабочей области – экземплярэтого символа.

По умолчанию временная ось для кнопки содержит четыре кадра: Up, Over, Down, Hit. Первый из этих кадров соответствует состоянию, когда указатель мыши находится вне области кнопки, второй – когда внутри этой области, третий – нажатой кнопке. Четвертый кадр должен содержать закрашенную фигуру, которая изображаетчувствительную областькнопки. Фигура, изображенная на этом кадре никогда не видна и ее роль сводится к различению состояний кадров 1 и 2. Иначе говоря, если указатель мыши находится в области, ограниченой этой фигурой, внешний вид кнопки соответствует кадру 2, а если вне ее – кадру 1.

Создание простой кнопки

  1. Создать новый фильм. Присвоить имя Buttons.

  2. Нарисовать окружность и залить ее, используя радиальную градиентную заливку.

  3. Выделить построенную фигуру вместе с контуром.

  4. Превратить фигуру в символ класса Button, нажав на клавишу F8 и выбрав данный тип символа. Присвоить имя btn_ph.

  5. Перейти в режим редактирования символа btn_ph. На временной оси будут видны 4 кадра, описанные выше.

  6. Сделать три копии кадра Up, нажав трижды на кнопку F6.

  7. Изменить внешний вид фигуры в кадрах Over и Down.

  8. Перейти в режим редактирования сцены и наблюдать результат. Если внешний вид кнопки не изменяется при перемещении указателя мыши, проделать: Главное меню > Control > Enable Simple Buttons (горячая клавиша: Ctrl+Alt+B).

  9. Установить на сцену три экземпляра символа btn_ph.

  10. Сохранить файл на рабочем диске под именем btn.fla.

Образец выполненного задания находится по адресу: http://www.master-teacher.org/compAnimo/examples/buttons.html.

Управление клипом с помощью кнопок

Созданные в предыдущем упражнении кнопки не выполняют никакой работы. В данном упражнении мы напишем скрипт, который обеспечит обработку события «нажатие на кнопку» и переход между кадрами при наступлении этого события. Образец выполненного задания находится по адресу: http://www.master-teacher.org/compAnimo/examples/goto.html

  1. Открыть файл, созданный в предыдущем упражнении, и сохранить его под именем goto.

  2. Создать около каждой кнопки надпись, как показано в образце.

  3. Создать кадр № 15: выделить кадр 15 и нажать на клавишуF5. В результате все 15 кадров данного слоя будут одинаковыми.

  4. Создать новый слой, присвоить ему имя Frames.

  5. В

    Рис. 80. Иерархический список функций в панели ActionScript.

    ыделять поочередно кадры 5, 10 и 15 в слоеFramesи нажимать на клавишуF6. В результате будут созданыключевые кадры в соответствующих точках временной оси.

  6. В каждом из ключевых кадров слоя Framesдобавить текстовое поле, содержащее число, соответствующее номеру данного кадра.

  7. Сохранить результат работы.

  8. Просмотреть полученную анимацию, нажав Ctrl+Enter. Должно происходить изменение надписи. Закрыть окно анимации.

  9. Выделить кадр 1 в слое Frames. Раскрыть панельActions. В заголовке панели должна быть надпись:Actions–Frame.

  10. В левом верхнем окне данной панели раскрыть последовательно списки GlobalFunctions>TimelineControlи дважды щелкнуть по строкеstop(см. рис. 80). В правом окне панели должен появиться текстstop().

  11. Просмотреть полученную анимацию. В отличие от предыдущего варианта, изменение надписи происходить не должно. Закрыть окно анимации.

  12. Выделить кнопку, подписанную Кадр 5. Если кнопку не удается выделить, нажатьCtrl+Alt+B.

  13. Раскрыть панель Actions. В заголовке панели должна быть надпись:Actions–Button.

В левом верхнем окне данной панели раскрыть последовательно списки GlobalFunctions–MovieClipControlи дважды щелкнуть по строкеon. В правом окне панели должен появиться текст:

on () {

}

Одновременно должно появиться выпадающее меню. Выбрать позицию release. В результате получим:

on (release) {

}

Такой текст представляет собой заготовку для скрипта, обрабатывающего событиеотпускание кнопки.

  1. Добавить пустую строку между фигурными скобками. Установить курсор на эту строку.

  2. Раскрыть последовательно списки GlobalFunctions-TimelineControlи дважды щелкнуть по строке gotoAndStop. В строке появится текст: gotoAndStop();

  3. Ввести между круглыми скобками число 5, соответствующее номеру кадра. Таким образом, при нажатии на данную кнопку будет происходить переход к указанному кадру.

  4. Выделяя последовательно остальные кнопки, создать скрипты для перехода к кадрам 10, 15 и 1.

  5. Сохранить результат на рабочем диске.

  6. Просмотреть полученный клип, нажав на клавиши Ctrl+Enter. Поочередно нажимая на кнопки, убедиться, что функции кнопок выполняются.