在 cocos2d-x 中聆听 Android 后退按钮

Ami*_*ava 3 android cocos2d-x android-event cocos2d-x-3.0

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

我在 C++ 中的 onKeyReleased() 中的后退按钮上已经做好了所有准备工作,但是当我在 onBackPressed() 、 onKeyUp() 、 OnKeyDown() 等活动方法中检查后退按钮时,我什么也没得到。

请帮助我。

小智 6

好吧,您必须在类的 init 中为键盘创建一个新的事件侦听器。因为我不知道你现在有什么,这就是我为 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
    }
}
Run Code Online (Sandbox Code Playgroud)