Мне нужно добавить KeyboardEvent к мувиклипу во Flash (AS 3.0) - PullRequest
1 голос
/ 19 апреля 2010

У меня есть мувиклип под названием keyCButton, к которому я хочу добавить KeyEvent (клавиша "C"). Это будет воспроизводить анимацию из кадров 2-30 со звуком. Я просмотрел несколько уроков, но до сих пор не получил правильную информацию, чтобы заставить его работать. Ниже мой код.

stage.addEventListener(KeyboardEvent.KEY_DOWN, cNote);
function cNote(event:KeyboardEvent):void
{
  if (event.keyCode == Keyboard.C)
  {
    keyCButton.gotoAndPlay(2)
  }
}

в кадре 30 код говорит ему остановиться и затем вернуться к кадру 1

Это работает для MouseEvent.CLICK, но KeyboardEvent ничего не делает. Возвращает эту ошибку для условия if

1119: доступ к возможно неопределенному свойству C через ссылку со статическим типом Class.

Когда я пробую это с ПРОБЕЛОМ вместо C, я не получаю ошибки, но это все еще не работает

Ссылка на текущий проект

Ответы [ 3 ]

0 голосов
/ 08 июля 2010

Это может помочь вспышке распознать вашу клавиатуру. Когда вы публикуете предварительный просмотр с помощью Shift + Enter, перейдите к параметрам во флеш-плеере на вкладке управления и затем отключите сочетания клавиш. Это гарантирует, что Flash CS4 (или что вы используете) отправляет ярлыки игроку вместо того, чтобы пытаться использовать горячие клавиши инструментов. Надеюсь, это поможет.

-Solarcloud

0 голосов
/ 20 июня 2012

Код ниже работает отлично:

stage.addEventListener(KeyboardEvent.KEY_DOWN, cNote);

function cNote(e:KeyboardEvent):void {
    if (e.keyCode==Keyboard.C) {
        keyCButton.gotoAndPlay(2);
    }
}
0 голосов
/ 20 апреля 2010

Keyboard.C не работает (не знаю почему), поэтому вы должны знать код клавиши для клавиши C:

<code>
stage.addEventListener(KeyboardEvent.KEY_DOWN, cNote);
function cNote(event:KeyboardEvent):void {
    //you can trace event.keyCode to get the pressed key value;
    trace(event.keyCode);
    //in your case the C key = 67
    if (event.keyCode==67) {
        keyCButton.gotoAndPlay(2);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...