Adobe actionscript 3

Екранні об'єкти, які успадковують моделі взаємодії від класу InteractiveObject, можуть реагувати на події клавіатури. Для цього використовуються прослуховувачі подій. Наприклад, можна помістити прослуховувач подій в робочу область для прослуховування дій клавіатури і реагування на них. Нижче наведено код, в якому прослуховувач подій захоплює натискання клавіші, і відображаються назва та код клавіші:







Деякі клавіші, наприклад Ctrl, генерують події навіть не дивлячись на те, що їм не відповідають ніякі гліфи.

У попередньому прикладі прослуховувач подій захоплює дії клавіатури у всій робочій області. Ви також можете написати прослуховувач подій для конкретного екранного об'єкта в робочій області. Цей прослуховувач подій буде викликатися, коли фокус перейде до об'єкта.

У прикладі нижче натискання клавіш відображаються на панелі «Вивід» тільки тоді, коли вони відбуваються всередині примірника TextField. Утримання клавіші Shift тимчасово змінює колір рамки об'єкта TextField на червоний.

В даному коді в робочій області присутній екземпляр TextField з ім'ям tf.

Клас TextField також реагує на подію textInput. яке можна прослуховувати при введенні користувачем тексту. Додаткову інформацію див. В розділі Захоплення введеного тексту.

Пояснення кодів клавіш і символів

Для визначення того, яка клавіша натискається, і виконання відповідних дій використовуються властивості keyCode і charCode події клавіатури. Властивість keyCode - це числове значення, що відповідає значенню клавіші на клавіатурі. Властивість charCode - це числове значення цієї кнопки в поточній розкладці клавіатури. (Набір символів за замовчуванням - UTF-8 з підтримкою ASCII.)







Основна різниця між кодом клавіші і кодом символу в тому, що значення коду клавіші представляє конкретну клавішу на клавіатурі ( «1» на бічній клавіатурі відрізняється від «1» в верхньому ряду, але клавіша, за допомогою якої вводяться «1» і «!» , одна і та ж), а значення коду символу - це конкретний символ ( «R» і «r» - різні символи).

Примітка. Список клавіш і відповідних їм значень кодів символів в ASCII см. В описі класу flash.ui.Keyboard в довіднику по мові ActionScript.

Зв'язок клавіш з кодами клавіш залежить від пристрою і операційної системи. З цієї причини не слід використовувати призначення клавіш для виклику дій. Замість цього краще використовувати зумовлені значення констант класу Keyboard для посилання на потрібні властивості keyCode. Наприклад, замість того щоб використовувати «гарячу» клавішу Shift, використовуйте константу Keyboard.SHIFT (як показано в попередньому прикладі).

Пояснення пріоритету KeyboardEvent

Як і у випадку з іншими подіями, послідовність подій клавіатури визначається ієрархією екранних об'єктів, а не порядком, в якому методи addEventListener () призначаються в коді.

Припустимо, ви помістили текстове поле tf у фрагмент ролика з ім'ям container і додали прослуховувач подій для подій клавіатури до обох екземплярах:

Так як прослуховувач встановлений і на текстове поле, і на його батьківський контейнер, функція reportKeyDown () викликається двічі для кожного натискання клавіші в текстовому полі TextField. Зверніть увагу, що кожен раз при натисканні кнопки текстове поле відправляє подія перш, ніж це робить фрагмент ролика container.

Операційна система і веб-оглядач обробляють події перш, ніж це робить програвач Adobe Flash або AIR. Наприклад, якщо натиснути в браузері Internet Explorer поєднання клавіш Ctrl + W, вікно оглядача закриється раніше, ніж будь-який з містяться в ньому SWF-файлів відправить подія клавіатури.







Схожі статті