收听 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) {
}
我想在 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) {
}