
- •Основы языка ActionScript 2.0 Для чего нужен Actionscript?
- •События
- •Действия
- •Операторы
- •Ключевые слова
- •Фигурные скобки
- •Точка с запятой
- •Кавычки
- •Комментарии
- •Отступы и пробелы
- •Переменные Объявление
- •Видимость переменных
- •Присваивание
- •Объекты
- •Условные операторы
- •Цикл с переменной
- •Циклы с условием
- •Перечисление свойств
- •Управление циклом
- •Лабораторная работа №1 «Знакомство с ActionScript» Панель Actions
- •Инструменты работы с кодом
- •Управление проигрыванием. Кнопки Команды управления
- •Скопируйте файл ship.Fla из папки лр1 в свою папку и в дальнейшем работайте только с ним!
- •Реакции на события
- •Метки кадров
- •Адреса: дети, родители и корень
- •Абсолютные адреса
- •Относительные адреса
- •Индивидуальное задание
- •Лабораторная работа №2 «Свойства и события клипа»
- •Свойства
- •Типы объектов
- •Обработчики событий
- •Применение события клипа
- •Присутствие: onClipEvent (load)
- •Отсутствие: onClipEvent (unLoad)
- •Движущая сила: onClipEvent (enterFrame)
- •Перемещение: onClipEvent (mouseMove)
- •Применение методов как обработчиков событий
- •Свойства объектов
- •События клипа
- •События мыши
- •Перетаскивание
- •События клипа
- •Отличие кнопки от клипа
- •Обработка событий мыши и клавиатуры
- •Функции
- •Типы функций
- •Защита паролем
- •Индивидуальное задание
- •Лабораторная работа №3 «Использование объектов среды Flash» Глобальный объект Key
- •Самостоятельное задание
- •Работа с текстом (String, Selection) Объект String — строка
- •Объект Selection
- •Использование объекта Color
- •Массивы Основные понятия
- •Копирование
- •Многомерные массивы
- •Методы для работы с массивами
- •Работа с массивами
- •Дата и время Объект Date
- •Периодический вызов функции
- •Индивидуальное задание
- •Лабораторная работа № 4 «Организация одномерного движения объектов» Математические функции
- •Одномерное движение
- •Движение на плоскости Равномерное движение
- •Неравномерное движение
- •Организация отскока объектов Одномерное движение
- •Индивидуальное задание
- •Лабораторная работа № 5«Организация движения объектов по наклонной плоскости»
- •Векторы
- •Отскок от наклонной плоскости
- •Шарик в кольце
- •Маятник
- •Загрузка символа из библиотеки
- •Определение границ клипа
- •Точка и клип Вторая форма hitTest
- •Трассировка растровых рисунков
- •Точки вдоль границы
- •Сложная фигура и клип Два подхода
- •Цикл по всем дочерних объектов
- •Локальные и глобальные координаты
- •Обработка события для звука
- •Загрузка фильмов
- •Использование Переменных
- •Локальные переменные
- •Типы функций
- •Обработчики событий
- •Описание проекта
- •Загрузка Flash-фильмов
- •Работа с рисунками
- •Увеличение рисунка
- •Маски клипов
- •Звуковые файлы
- •Баннеры
- •Компоненты Обзор
- •Текстовые поля
- •Форматирование
- •Текст-ссылка
- •Работа с базой пользователей
- •Регистрация
- •Радиокнопки
- •Выпадающий список
- •Выключатели
- •Формат компонентов
- •Добавление пользователя
- •Индивидуальное задание
- •Лабораторная работа № 9 «Рисование из программы»
- •Отрезки
- •Заливки Одноцветная заливка
- •Добавление методов к MovieClip
- •Градиентная заливка
- •Квадраты
- •Двойной щелчок
- •Текстовое поле
Типы объектов
Объекты организованы по классам, которые представляют собой группы объектов, имеющих схожие свойства и методы. В реальном мире автомобили представляют собой один класс объектов, а рыбы, книги, даже люди – другие классы. Каждый из 6 миллиардов людей на этой планете может рассматриваться как экземпляр класса Человек. Хотя каждый человек уникален, всем людям присущи схожие свойства (имя, возраст, цвет волос, рост и тому подобное) и виды деятельности (дыхание, ходьба, осязание, зрение и так далее). Поскольку каждый новый созданный вами экземпляр фильма-символа является экземпляром объекта MovieClip, он наследует все свойства и методы, присущие этому классу объектов.
Практически любой проект содержит по нескольку экземпляров одного класса объектов – например, объекта MovieClip, о котором мы только что говорили, или объекта String (ведь проект может содержать много разных символьных строк, и каждая из них будет экземпляром объекта String). Другие объекты являются универсальными, или глобальными – это значит, что проект может содержать лишь один экземпляр такого объекта. Таков, например, объект Mouse (мышь), который, помимо прочего, управляет "видимостью" указателя. Поскольку указатель может быть только один, вы не можете создать несколько экземпляров мыши, а можете лишь использовать присущие этому объекту методы.
Создать экземпляр объекта можно двумя способами. Чтобы создать новый экземпляр объекта MovieClip, достаточно поместить на сцену фильм-символ. Однако такой способ пригоден лишь для некоторых (немногочисленных) типов объектов. Для создания экземпляров объектов других типов необходимо использовать конструктор – это довольно простая строка кода, приказывающая Flash создать новый экземпляр определенного объекта. Конструктор выглядит так:
имяЭкземпляра = new имяОбъекта();
Так, если мы хотим создать экземпляр объекта Sound (звук), конструктор будет примерно таким:
mySoundInstance = new Sound();
Каждый раз, создавая экземпляр объекта, вы должны присваивать ему имя, уникальное для данного проекта. Это позволит изменить свойство или вызвать метод, соответствующий конкретному.
Для имен объектов действуют те же ограничения, что и для имен переменных; то есть имена не должны содержать пробелов, специальных символов и не должны начинаться с цифры.
Во Flash вы можете присоединять к имени объекта специальные суффиксы, способствующие получению подсказок в панели Actions.
Например, вы можете назвать экземпляр фильма-символа myMovieClip, а можете с суффиксом – myMovieClip_mc. В последнем случае панель Actions будет понимать, что это имя соответствует объекту определенного типа и при вводе скриптов вы будете получать раскрывающийся список, содержащий имена всех свойств и методов, присущих этому объекту. Полный список суффиксов вы можете найти в Словаре ActionScript (ActionScript dictionary).
Обработчики событий
Обработчики событий — это специальные методы кнопок и клипов. Например, вместо определения обработчика события on(release) можно записать адрес нужной функции в свойство onRelease кнопки или клипа.
Пусть на текущем монтажном столе есть кнопка с именем btn (имя кнопки задается в левой части на панели Properties).
В ActionScript обработчик события (за исключением событий, связанных с кадрами) обычно указан в первой строке всякого скрипта. Примерно так:
Когда происходит (типСобытия) {
делать то-то;
делать то-то;
}
События, привязанные к кадрам, происходят, когда монтажный стол при воспроизведении достигает кадра, содержащего скрипт. Для скрипта, помещенного в кадр, не нужен обработчик события – такой скрипт будет выполнен при достижении данного кадра. Так, если бы приведенный выше скрипт был привязан к кадру, он выглядел бы так:
делать то-то;
делать то-то;
Правильное использование обработчиков событий – одна из наиболее сложных проблем, стоящих перед пользователем ActionScript, ведь большинство из нас не задумывается о том, как именно и почему происходят события вокруг нас. А ведь при создании интерактивной среды важно именно это – четко представлять себе, что с чем и как взаимодействует.
События мыши
Обработчики этой группы управляют выполнением скриптов для событий, связанных с манипуляциями мышью над экранными кнопками и экземплярами фильмов-символов.
Нажатие, контакт: on (press)
Обработчик события on(press) служит для имитации. Этот обработчик используется для запуска скрипта в ситуации, когда указатель наведен на кнопку или фильм-символ и кнопка мыши нажата.
Отпускание, освобождение: on (release)
Данный обработчик имитирует всякого рода освобождение – от нажатия или захвата. Применяется для запуска скрипта в ситуации, когда пользователь отпустил кнопку мыши (которую он до этого нажал на кнопке или экземпляре фильма-символа).
Сдвиг, перетаскивание: on (releaseOutside)
Во Flash вы можете представить себе кнопку, которую пользователь нажал, переместил мышь и отпустил кнопку. Этот обработчик запускает скрипт в случае, когда пользователь нажал кнопку мыши на объекте (экранной кнопке или фильме-символе), а отпустил за пределами объекта – полезно для программирования всякого рода перемещений и сдвигов.
Управление с клавиатуры: on (keyPress)
Этим событием можно запрограммировать скрипт, который будет выполняться при нажатии пользователем какой-либо клавиши на клавиатуре. Клавишу можно задать любую – с буквой, цифрой, знаками препинания и специальными символами, клавиши-стрелки, Backspace, Insert, Home, End, Page Up и Page Down.
Указал, но не нажал: on (rollOver)
Также этот обработчик можно использовать для отображения информации (всплывающей подсказки) при наведении указателя на кнопку или экземпляр фильма-символа. Итак, этот обработчик используется для запуска скрипта в ситуации, когда пользователь навел указатель мыши на кнопку или экземпляр фильма-символа.
Применение событий кадров
Понять и освоить события кадров проще. Если вы присоединили серию действий к кадру монтажного стола, Flash выполнит эти действия, как только данный кадр будет достигнут в ходе воспроизведения фильма. События кадров хороши там, где требуется привязка действий ко времени или синхронизация чего-либо с визуальными элементами, находящимися на сцене в данный момент.
Указатель отведен в сторону: on (rollOut)
Вы можете использовать этот обработчик для запуска скрипта, когда пользователь отвел указатель от кнопки или фильма-символа (на который он перед этим указатель навел).
трение: on (dragOver)
Данное событие позволяет имитировать такой тип деятельности, запуская скрипт каждый раз, когда указатель мыши проходит над какой-либо кнопкой или фильмом-символом, пока кнопка мыши остается нажатой.
"Ой": on (dragOut)
Этот обработчик можно использовать для запуска скрипта в случае, когда пользователь навел указатель на кнопку или фильм-символ, нажал кнопку мыши и тут же убрал указатель в сторону (а кнопка мыши при этом осталась нажатой).