【发布时间】:2011-06-02 14:49:31
【问题描述】:
我试图在我的 UI 上捕获方形区域的键盘和鼠标事件,由 Sprite 表示。鼠标捕获有效,键盘捕获根本不起作用:
private var square:Sprite = new Sprite();
square.graphics.beginFill(0x000000, 1);
square.graphics.drawRect(0, 0, 1024, 720);
square.graphics.endFill();
square.buttonMode = true;
...
square.addEventListener(KeyboardEvent.KEY_DOWN,reportKeyDown);
private function reportKeyDown(event:KeyboardEvent):void
{
trace("==>reportKeyDown: " + String.fromCharCode(event.charCode) + " (key code: " +
event.keyCode + " character code: " + event.charCode + ")");
}
我从来没有看到 reportKeyDown 被执行过,即使 Sprite 对象有一个焦点。 知道问题是什么吗? 谢谢, -V
【问题讨论】:
-
您有机会尝试我建议的解决方案吗?如果有帮助,您可以通过单击我的答案旁边的 ^ 箭头来投票。如果它有助于解决您的问题,您可以通过单击我的答案旁边的复选标记图标将其标记为已接受的答案。
标签: flash apache-flex addeventlistener