KeyboardEvent работает только после MouseEvent - PullRequest
0 голосов
/ 10 ноября 2011

Хорошо, я создаю слайд-шоу во Flash CS5. Код очень простой, однако он не работает так, как задумано. Он должен перейти к следующему кадру, если я нажимаю кнопку или нажимаю стрелку вверх / вправо на клавиатуре. Однако клавиатура работает только после одного нажатия кнопки.

мой код:

import flash.events.MouseEvent;
import flash.events.KeyboardEvent;

slides.stop();

addEventListener(KeyboardEvent.KEY_DOWN, keyD);
FB.addEventListener(MouseEvent.CLICK, nextSld);
BB.addEventListener(MouseEvent.CLICK, prevSld);

function keyD(evt){
    var k = evt.keyCode;
    if(k==37||k==38){ 
        prevSld(evt);
    }
    if(k==39||k==40){ 
        nextSld(evt);
    }
}
function nextSld(evt){
    slides.nextFrame();
    }
function prevSld(evt){
    slides.prevFrame(); 
}

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

Теперь я бы просто позаботился о том, чтобы моей проблемы не было, и, возможно, кто-то может указать на проблему, даже если это, вероятно, не вписывается в эту доску.

Ответы [ 2 ]

2 голосов
/ 10 ноября 2011

изменить addEventListener(KeyboardEvent.KEY_DOWN, keyD); на stage.addEventListener(KeyboardEvent.KEY_DOWN, keyD);

1 голос
/ 10 ноября 2011

Кажется, что ваш фильм не в фокусе, поэтому вам нужно немного щелкнуть мышью по фильму, чтобы он захватил события клавиатуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...