OpenFL阶段如何强制__focusObject到另一个元素

时间:2017-11-30 18:31:22

标签: javascript haxe stage openfl

我正在尝试使用

让键盘事件正常工作
Lib.current.stage.addEventListener( KeyboardEvent.KEY_DOWN, dispatchKeyEvent, false, 0, true );
Lib.current.stage.addEventListener( KeyboardEvent.KEY_UP, dispatchKeyEvent, false, 0, true );

事件开始了,但舞台的__focusObject仍然是我的预载者。此时它不再存在,只有游戏可见。

一旦我点击屏幕将舞台的focusObject更改为我的游戏,事件就会传播到我的游戏中。但在点击游戏元素之前,事件只会通过我的预加载器传播。

有没有办法强调焦点到游戏而不必亲自点击它?

1 个答案:

答案 0 :(得分:2)

您可以像这样删除Stage的焦点:

stage.focus = null;

这应该使键盘事件从Stage而不是另一个聚焦对象发送。

最新版本的OpenFL应在卸载预加载器时自动删除焦点。如果情况不是这样,请使用示例代码报告GitHub上的问题。