Ноу Інти, лекція, застосування обробників подій
Анотація: Загальновідомо, що на кожну дію буває своя реакція. У фізичному світі це відбувається постійно - навколо нас і з нами самими. Ми тиснемо на кнопки, ми тиснемо на людей, ми навіть "натискаємо на кнопки" людей - і все з єдиною метою: добитися відповідної реакції. У Macromedia Flash про це говорять так: кожній події відповідає дію.
У середовищі Flash відгуками на всілякі натискання, захоплення. переміщення, входи, виходи тощо є обробники подій. Без них не буде у фільмі ніякої інтерактивності - а тому ви повинні знати все про них досконально.
Увага. Для роботи з цим уроком необхідні навчальні файли, які Ви можете завантажити тут.
Що буде вивчатися

У цьому уроці ми створимо кілька проектів, в тому числі самостійно виконувати презентацію, яка використовує події, пов'язані з кадрами.
- Вивчення способів застосування в скриптах обробників подій
- Визначення найкращого обробника для вашої роботи
- Використання подій миші та кнопки для управління інтерактивністю
- Додавання в проект управління за допомогою клавіатури
- Створення самопроігривающейся презентації за допомогою кадрових подій
- Використання подій фільму при створенні інтерактивного проекту
- Поєднання різних подій для виконання потрібної завдання
- Використання методів як обробників подій
- Слухачі і способи їх застосування
Час виконання
На виконання цього уроку потрібно приблизно дві години.
файли уроку
Що роблять обробники подій
Обробники подій (event handlers) - це оркестр, виконуючий інтерактивну п'єсу вашого фільму. Кожен обробник містить скрипт. виконуваний тільки тоді, коли відбувається певна подія. Кожен скрипт у фільмі запускається подією - користувач навів покажчик миші на кнопку або натиснув клавішу, або фільм досяг певного кадру на монтажному столі, і так далі.
В ActionScript обробник події (за винятком подій, пов'язаних з кадрами) зазвичай вказаний в першому рядку будь-якого скрипта. Приблизно так:
Події, прив'язані до кадрів, відбуваються, коли монтажний стіл при відтворенні досягає кадру, що містить скрипт. Для скрипта, який міститься в кадр. не потрібен обробник події - такий скрипт буде виконаний при досягненні даного кадру. Так, якби наведений вище скрипт був прив'язаний до кадру, він виглядав би так:
Чим краще ви зрозумієте концепції обробників подій, тим повнішим буде ваш контроль над інтерактивними елементами. Правильно використовуючи обробники, ви зможете створити таку інтерактивну середу, в якій користувач буде відчувати себе як вдома.
Багато комп'ютерні програми дозволяють користувачеві перетягувати елементи на екрані, змінювати розмір вікон, робити ті чи інші настройки за допомогою регуляторів, створювати власні "шедеври мистецтва" за допомогою віртуальних інструментів. Всі ці режими інтерактивної взаємодії залежать від того, як реалізована в програмному забезпеченні обробка різних подій (натискань миші, переміщення миші, введення з клавіатури і т.п.).
Вибір потрібного обробника
Правильне використання обробників подій - одна з найбільш складних проблем, що стоять перед користувачем ActionScript. адже більшість з нас не замислюється про те, як саме і чому відбуваються події навколо нас. Але ж при створенні інтерактивного середовища важливо саме це - чітко уявляти собі, що з чим і як взаємодіє.
Знайомлячи вас з обработчиками подій Flash. ми будемо розглядати їх зв'язок з подіями реального світу. Не забувайте, що в Flash кожній події відповідає дію (і відповідна реакція).
Примітка Далі в цьому уроці ми обговоримо методи обробників подій - під ними ми маємо на увазі розширення стандартних обробників.
події миші
Обробники цієї групи керують виконанням скриптів для подій, пов'язаних з маніпуляціями мишею над екранними кнопками і екземплярами фільмів-символів.
Примітка Якщо ви знайомі з реалізацією подій миші в Flash 5, то знаєте, що там їх можна було застосовувати тільки до кнопок. У Flash MX ж події миші можна приєднувати також використовують екземпляри фільмів-символів (про це буде детально розказано у вправі).
Натискання, контакт: on (press)

У реальному світі, якщо ви до чогось торкаєтеся або на щось натискаєте (будь то людина або кубик льоду), ви очікуєте реакції: кубик льоду починає танути, людина теж так чи інакше відгукується. Обробник події on (press) служить для імітації подій на кшталт дотиків, захоплень, натискань. Цей оброблювач використовується для запуску скрипта в ситуації, коли покажчик наведений на кнопку або фільм-символ і кнопка миші натиснута.
Відпускання, звільнення: on (release)

Відпускаючи що-небудь, припиняючи контакт, ви зазвичай тим самим завершуєте взаємодія з предметом. Даний обробник імітує всякого роду звільнення - від натискання або захоплення. Застосовується для запуску скрипта в ситуації, коли користувач відпустив кнопку миші (яку він до цього натиснув на кнопку або примірнику фільму-символу).
Зрушення, перетягування: on (releaseOutside)
Уявіть колоду карт, що лежить на столі. Ви натискаєте пальцем на верхню карту, зрушуєте її з колоди і відпускаєте палець. У Flash ви можете уявити собі кнопку, яку користувач натиснув, перемістив миша і відпустив кнопку. Цей оброблювач запускає скрипт в разі, коли користувач натиснув кнопку миші на об'єкті (екранної кнопці або фільмі-символі), а відпустив за межами об'єкта - корисно для програмування всякого роду переміщень і зрушень.
Управління з клавіатури: on (keyPress)
Цією подією можна запрограмувати скрипт, який буде виконуватися при натисканні користувачем будь-якої клавіші на клавіатурі. Клавішу можна задати будь-яку - з літерою, цифрою, знаками пунктуації та спеціальними символами. клавіші-стрілки, Backspace. Insert, Home, End, Page Up і Page Down.
Вказав, але не натиснув: on (rollOver)

Для того, щоб відчути жар від гарячої плити, не обов'язково до неї торкатися - досить піднести руку. Будемо вважати, що цей обробник імітує об'єкти, які здатні впливати на відстані - випромінюючи тепло, холод, світло тощо. Також цей обробник можна використовувати для відображення інформації (підказки) при наведенні покажчика на кнопку або екземпляр фільму-символу. Отже, цей обробник використовується для запуску скрипта в ситуації, коли користувач навів покажчик миші на кнопку або екземпляр фільму-символу.
Покажчик відведено в сторону: on (rollOut)

Відвівши руку від плити, ви, природно, перестаєте відчувати її жар. Саме таку ситуацію імітує цей обробник. Ви можете використовувати цей обробник для запуску скрипта, коли користувач відвів покажчик від кнопки або фільму-символу (на який він перед цим покажчик навів).
"Жолобки", "западини", тертя: on (dragOver)
Переміщення вперед-назад в межах будь-якої області - як, наприклад, рухається щітка, якою чистять черевик. Дана подія дозволяє імітувати такий тип діяльності, запускаючи скрипт кожен раз, коли курсор миші проходить над будь-якої кнопкою або фільмом-символом, поки кнопка миші натиснута.
"Ой": on (dragOut)
Дана подія дозволяє імітувати ситуацію, коли ви, доторкнувшись до чого-небудь ненавмисно, тут же відсмикує руку. Цей оброблювач можна використовувати для запуску скрипта в разі, коли користувач навів покажчик на кнопку або фільм-символ, натиснув кнопку миші і тут же прибрав покажчик в сторону (а кнопка миші при цьому залишилася такою, що натискує).