收听 Android cocos2d-x 中的后退按钮

Listen Android back button in cocos2d-x

我想在 android activity 中跟踪 android 后退按钮。

我已经在 C++ 中的 onKeyReleased() 中对后退按钮进行了所有准备工作,但是当我检查 activity 方法中的后退按钮时,例如 onBackPressed() 、 onKeyUp() 、 OnKeyDown() e.t.c那我什么也得不到。

请帮助我。

那么您必须在 class 的初始化中为键盘创建一个新的事件侦听器。因为我现在不知道你有什么,所以这就是我为 Android:

实现后退按钮监听器的方式
bool YourScene::init()
{
    if(!Layer::init()) return false;
    auto listener = EventListenerKeyboard::create();
    listener->onKeyReleased = CC_CALLBACK_2(YourScene::onKeyReleased, this);
    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);
    ...........
}

void YourScene::onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event)
{
    if(keyCode == EventKeyboard::KeyCode::KEY_BACK)
    {
        // IMPLEMENT YOUR BACK BUTTON LOGIN HERE
    }
}

你可以使用这个方法,它已经在class里面Cocos2dxGLSurfaceView.java,你可以从这里

处理你的activity
    @Override
    public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent) {
}