[4]: Клавиатура

Приветствую вас, человеки :) Сегодня расскажу вам как регистрировать и обрабатывать события на клавиатуре в action script 3.0. Для чего это нужно думаю объяснять не надо, так что приступим :)  Для того чтобы обработать какое-либо событие клавиатуры, нужно вызвать слушатель событий .addEventListener. Как вы помните из предыдущего урока его можно применить как к сцене так и к любому клипу, мы будем применять ко всей сцене. Для этого напишем:

, где KeyboardEvent – событие клавиатуры, .KEY_DOWN – нажатие кнопки, f_down – вызывает функцию f_down.

А далее распишем собственно функцию, которая обрабатывает нажатие кнопки:

Мы пишем trace (e), для того чтобы определить код кнопки. Мы запускаем файл и нажимаем кнопку, которую хотим определить, допустим это буква [А(ф)], и на выходе мы видим:
[KeyboardEvent type="keyDown" bubbles=true cancelable=false eventPhase=2 charCode=97 keyCode=65 keyLocation=0 ctrlKey=false altKey=false shiftKey=false]
В этой записи мы находим keyCode=65 и это значит, что код кнопки 65. А у кнопки “вниз” код 40.
Теперь добавим условие, которое регистрирует КАКАЯ нажата кнопка и делает какое-либо действие :)

Если у нас нажата кнопка  [А(ф)] ( e.keyCode == 65) , то мы клип с именем knopkaA перемещаем по координате у на 2 пункта.
Что-то подобное проворачиваем с кнопкой “вниз”.
В видео ещё разобрано событие по отжатию кнопки :)

Обо всём этом (и не только этом) смотрите в видеоуроке ниже:

Исходник: yadi.sk/d/INMaD-JCF48WD
Код ActionScript 3.0 из урока:

Всё подробно рассказано в видео :) Если будут какие-либо вопросы, пишите в комментариях к видео. Надеюсь, данный урок по регистрации событий тёти клавы в action script 3.0 в программе adobe flash, поможет вам в разработке игр. :)

Комментарии
  1. Егор

    Супер! Спасибо.
    Мини-правка (в последнем предложении поста): “Надеюсь, данный урок по реализации (?)скорости(?) в action script 3.0 в программе adobe flash, поможет вам в разработке игр.”
    Нужно – “по регистрации и обработке событий на клавиатуре”. ;)
    Удачи!

    • admin

      верно, спасибо :) за всеми делами не уследишь :)

  2. Дмитрий

    Евгений, извините как организовать прыжок в сторону через объект?

  3. Имя

    Админ, достало уже! Может дело в том, что уже 2017 год я не знаю, но бесит!!! Машинка не едет, в этом коде так вообще ошибки постоянно выскакивают!!!!!!!!
    Уроки бесполезные!

    • admin

      Скинь свой исходник :) Хочу поднять себе настроение детскими ошибками, раз за 3 года ты не смог сделать это элементарный урок! Возможно, это вообще не твоё. Это база базовая. Это тут ещё классов нет…

      • Имя

        Да ладно, я AS только начинаю учить, ты не правильно понял. Я уже разобрался, что проблема в другой версии языка. Так что прошу прощения за тот комментарий, уроки на самом деле хорошие

  4. Hex

    Но Enter не трейсится, анадо сделать взаимодействие при нажатии на Enter, как быть ?

Добавить комментарий для Имя Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">