单击HW菜单按钮时无法调用方法

时间:2016-03-21 12:21:07

标签: android andengine

我刚刚开始使用andEngine开发游戏,现在在Android设备中遇到硬件菜单按钮问题。我想要做的是调用方法“showMenu()”来显示我使用下面的代码制作的自定义菜单场景。但是,每当我点击硬件菜单按钮时,都会显示应用程序列表而不是方法。如何通过菜单按钮调用方法?我很乐意听到你的消息!

 @Override
    public boolean dispatchKeyEvent(KeyEvent e) {
        if (e.getAction() == KeyEvent.ACTION_DOWN && e.getKeyCode() == KeyEvent.KEYCODE_BACK) {
            //if paused
            if (isPaused) {
                //use thread when tring to use detachself and detachChildren
                getBaseActivity().runOnUpdateThread(new Runnable() {
                    @Override
                    public void run() {
                        for (int i = 0; i < pauseBg.getChildCount(); i++) {
                            unregisterTouchArea((ButtonSprite) pauseBg.getChildByIndex(i));
                        }
                        pauseBg.detachChildren();
                        pauseBg.detachSelf();
                    }
                });
                isPaused = false;
                isTouchEnabled = true;
                return true;
            } else {
                return false;
            }

        } else if (e.getAction() == KeyEvent.ACTION_DOWN && e.getKeyCode() == KeyEvent.KEYCODE_MENU) {
            //if not paused show menu
            if (!isPaused) {
                showMenu();
            }
            return true;
        }
        return false;
    }

1 个答案:

答案 0 :(得分:1)

请记住,很多Android设备都没有附带物理或触摸屏菜单按钮。您设备上的按钮很可能是任务管理器按钮,其目的是完全按照您的描述执行(显示正在运行/后台应用程序的列表)。

最好避免覆盖游戏中的菜单按钮,或者至少应该为客户端提供一个替代的屏幕精灵作为菜单按钮。