未选择AS3 Keyevent父母

时间:2014-07-03 19:50:25

标签: actionscript-3 input actionscript keyboard

我在游戏的第一帧上有一个按钮,当我点击它时,它会进入第二帧。通过按键盘上的任何按钮,一旦到达第2帧就开始游戏,但无论何时进入第2帧,您都必须先单击屏幕才能使用箭头键。如何在不单击游戏的情况下使键盘输入工作

这是第一帧的一些代码

    var buttoon1:Bitmap = new Bitmap(new button1);
    var buttoon2:Bitmap = new Bitmap(new button2);
    var buttoon3:Bitmap = new Bitmap(new button3);

    var button:MovieClip = new MovieClip();
    button.addChild(buttoon1);
    button.x = 30;
    button.y = 50;
    button.width = 246;
    button.height = 43;
    addChild(button);

    button.addEventListener(MouseEvent.CLICK, buttonClicked);

    function buttonClicked(e:Event) {
        gotoAndStop(2);
        removeChild(button);
    }

这是第二帧的一些

    stage.addEventListener(KeyboardEvent.KEY_DOWN, down);

    function down(e:KeyboardEvent) {
        if (speed == 0) {
            speed = 10;
        }
    }

注意:在我尝试使用键盘之前,我在游戏中点击按钮(不要认为我的意思是当选择另一个窗口时键盘输入应该有效)

1 个答案:

答案 0 :(得分:0)

出于某种原因,当舞台进入第2帧时,舞台上没有任何焦点(根据评论,可能是焦点的项目已从显示列表中删除)

您可以通过手动将焦点设置为显示列表中的任何内容来解决此问题

stage.focus = this;