cocos2d-x 3.+ 捕获安卓返回键问题

我是这样写的:

auto ll = EventListenerKeyboard::create();

ll->onKeyPressed = CC_CALLBACK_2(Game::onKeyPressed, this);

this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(ll, this);

调用的函数

void Game::onKeyPressed(EventKeyboard::KeyCode keycode, Event*e){

if (keycode == EventKeyboard::KeyCode::KEY_BACKSPACE || keycode == EventKeyboard::KeyCode::KEY_BACK){

auto s = Start::createScene();

Director::getInstance()->replaceScene(s);

}

}

这样在win32下按BackSpace有用,在安卓平台下没反应

(还添加了个触摸事件监听)

求解决方案

/* Callback function should not be deprecated, it will generate lots of warnings.
Since 'setKeyboardEnabled' was deprecated, it will make warnings if developer overrides onKeyXXX and invokes setKeyboardEnabled(true) instead of using EventDispatcher::addEventListenerWithXXX.
*/
virtual void onKeyPressed(EventKeyboard::KeyCode keyCode, Event* event);

if developer overrides onKeyXXX and invokes setKeyboardEnabled(true) instead of using EventDispatcher::addEventListenerWithXXX.

重写onKeyXXX()setKeyboardEnabled(true) 取代上面写 的方法