【问题标题】:Listen Android back button in cocos2d-x在 cocos2d-x 中监听 Android 后退按钮
【发布时间】:2016-12-30 17:08:52
【问题描述】:

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

我在 C++ 中的 onKeyReleased() 中的后退按钮上已准备就绪,但是当我在 onBackPressed() 、 onKeyUp() 、 OnKeyDown() 等活动方法中检查后退按钮时,我什么也得不到。

请帮助我。

【问题讨论】:

  • 包含一些您可能尝试过的代码可能会有所帮助。

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


【解决方案1】:

你必须在你的类的初始化中为键盘创建一个新的事件监听器。因为我现在不知道你有什么,这就是我为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
    }
}

【讨论】:

  • 感谢您的回答,但我想跟踪 android 活动中的后退按钮而不是 CPP。
【解决方案2】:

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

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

【讨论】:

  • 感谢@Pratik 的回答。我已经尝试过了,但不幸的是它没有用。
猜你喜欢
  • 1970-01-01
  • 2014-11-02
  • 2014-03-08
  • 2022-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
相关资源
最近更新 更多