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

时间:2016-08-23 18:39:38

标签: android cocos2d-x cocos2d-x-3.0 android-event

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

我已经准备好在C ++中onKeyReleased()的后退按钮上工作了,但当我在onBackPressed(),onKeyUp(),OnKeyDown()e.t.c这样的活动方法中检查按钮后,我什么都没得到。

请帮助我。

2 个答案:

答案 0 :(得分:4)

你必须在你的类的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
    }
}

答案 1 :(得分:0)

你可以使用这个方法,它已经在Cocos2dxGLSurfaceView.java类中了,你可以从这里处理你的活动

    @Override
    public boolean onKeyDown(final int pKeyCode, final KeyEvent pKeyEvent) {
}