【问题标题】:Haxe Help - Manipulating Android Back Button ActionHaxe 帮助 - 操作 Android 后退按钮操作
【发布时间】:2015-12-31 15:02:51
【问题描述】:

基本上,我使用 Stencyl 引擎制作游戏。该引擎使用 Haxe 并且不支持 Haxe 支持的所有内容。

我想操纵他按下 android 的“后退按钮”。 Stencyl 支持代码模式,我可以在其中编写 haxe 代码。我想覆盖android的默认后退按钮按下。当玩家在玩游戏时,如果他按下返回按钮,游戏就会进入后台。相反,我希望在按下后退按钮时重新启动关卡。这可以通过任何可用的 Haxe 资源来完成吗?

我尝试搜索任何代码帮助,但找不到。这就是为什么在这里发消息。感谢任何帮助。

P.S:Stenyl 开发人员可能不是您真正的开发人员。如果是这样,我不是开发人员。我只是一个使用所有资源来实现我想要的东西的人。因此,请避免此类对任何人都没有帮助的话题。

【问题讨论】:

  • 您好安德鲁,感谢您的代码。我会试试看。我有一个小小的疑问。它在哪里指定后退按钮?是 KEY_UP 吗?编辑:我想我明白了。是 .ESCAPE 提到了我们选择的键,不是吗?
  • 是的,KEY_UP 是按键时的事件,ESCAPE 是Android 上的后退按钮代码
  • 非常感谢您的帮助。我在让它工作时遇到了一些困难,但我会尝试自己再修复几个小时,然后再把它带到这里。
  • 另外,安卓手机还有另外两个按钮。我认为它们被命名为“主页”和“菜单”。这些也可以以类似的方式使用吗?也就是说,只需在上述代码中的 'ESCAPE' 处替换 'HOME' 或 'MENU' 就可以了吗?我本可以自己测试它,但由于我还不能测试这段代码,所以我问你这个问题。再次感谢您的帮助。这给我带来了更多的可能性。

标签: android button haxe openfl stencyl


【解决方案1】:

你可以试试下面的代码

Lib.current.stage.addEventListener(openfl.events.KeyboardEvent.KEY_UP, checkKeypress);

...

private function checkKeypress(e:openfl.events.KeyboardEvent):Void
{
    switch (e.keyCode)
    {
        case openfl.ui.Keyboard.ESCAPE:
            e.stopImmediatePropagation();
            restartLevel();
    }
}
private function restartLevel():Void
{
    //your code to restart level here
}

【讨论】:

  • 我相信这应该可行,前提是 Stencly 使用的是最新版本的石灰。这种行为类似于 Alt+Enter 在 Windows 上导致全屏操作,不久前我与 Joshua 谈过确保该行为是可抑制的,这正是他建议的规定方法。
  • 非常感谢您的帮助。我很难让它工作,但我会尝试自己修复几个小时,然后再把它带到这里。此外,Android 手机中还有另外两个按钮。我认为它们被命名为“主页”和“菜单”。这些也可以以类似的方式使用吗?也就是说,只需在上述代码中的 'ESCAPE' 处替换 'HOME' 或 'MENU' 就可以了吗?我本可以自己测试它,但由于我还不能测试这段代码,所以我问你这个问题。再次感谢您的帮助。这给我带来了更多的可能性。
  • 您好,我再次收到“字符 0-7 : Unexpected private”错误。我在更新事件时添加了这段代码。因此,每当玩家按下后退按钮时,它都会被识别。我错过了什么吗?
  • 我想知道错误是否与“...”有关,因为我认为它没有任何用途?我也会很快发布整个代码
  • 你不需要在每次更新中添加这个。添加 Lib.current.stage.addEventListener(openfl.events.KeyboardEvent.KEY_UP, checkKeypress);在初始化的某个地方,以及其他附近的功能。我记得你不能重新定义主页按钮
猜你喜欢
  • 1970-01-01
  • 2012-12-24
  • 1970-01-01
  • 2021-11-12
  • 1970-01-01
  • 2014-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多