Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ActionScript 2.0 ЛР.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.88 Mб
Скачать

Типы объектов

Объекты организованы по классам, которые представляют собой группы объектов, имеющих схожие свойства и методы. В реальном мире автомобили представляют собой один класс объектов, а рыбы, книги, даже люди – другие классы. Каждый из 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)

Этот обработчик можно использовать для запуска скрипта в случае, когда пользователь навел указатель на кнопку или фильм-символ, нажал кнопку мыши и тут же убрал указатель в сторону (а кнопка мыши при этом осталась нажатой).

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