我刚刚开始使用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;
}
答案 0 :(得分:1)
请记住,很多Android设备都没有附带物理或触摸屏菜单按钮。您设备上的按钮很可能是任务管理器按钮,其目的是完全按照您的描述执行(显示正在运行/后台应用程序的列表)。
最好避免覆盖游戏中的菜单按钮,或者至少应该为客户端提供一个替代的屏幕精灵作为菜单按钮。