有没有办法在flex顶级应用程序中添加keyboardevent?

时间:2011-03-07 15:38:05

标签: flash flex events keyboard adobe

我正在将图像加载到我的flex应用程序中,并且我正在尝试通过键盘移动图像。我向应用程序添加了一个事件监听器,但图像不会移动。我怎样才能获得它,以便flex 4顶级应用程序可以使用键盘监听器。我正在弄清楚如何使键盘事件监听器工作的唯一可能方法是添加到文本字段。

<?xml version="1.0" encoding="utf-8"?>

<fx:Declarations>

</fx:Declarations>

<s:creationComplete>
    <![CDATA[
        //this.addEventListener(MouseEvent.MOUSE_MOVE, movePlayer);
        this.addEventListener(KeyboardEvent.KEY_DOWN, movePlayerKeys);
    ]]>
</s:creationComplete>


<fx:Script>
    <![CDATA[
        import mx.core.FlexGlobals;
        private function movePlayer(e:MouseEvent): void {
            trace("Moving mouse",e.localX, e.localY);

        }

        private function movePlayerKeys(e:KeyboardEvent): void {
            trace("key pressed:",e.charCode);
            // add controls class here.
        }
    ]]>
</fx:Script>

<player:Player id="player" x="10" y="10"/>

考虑到我甚至没有在键盘事件上获得跟踪。

1 个答案:

答案 0 :(得分:0)

使用stage添加键盘监听器,它可以工作(如果应用程序有焦点,当然)。