cocos2dx 3.x版本后退格/删除键已经被默认关闭掉了。
怎么做呢?
很多同学都是直接改源码,但是个人认为:能不改源码就不改。
cocos2dx 官方测试程序已经给了解决办法,详情见cpp-test
下面直接给出解决方法:就是增加个监听。
我是在 AppDelegate里面添加的,
首先添加静态函数:如下
//响应删除及退格键
static void keyEventCallback(cocos2d::EventKeyboard::KeyCode code, cocos2d::Event *event)
{
typedef cocos2d::EventKeyboard::KeyCode KeyCode;
switch (code)
{
case KeyCode::KEY_BACKSPACE://响应退格键
#if CC_TARGET_PLATFORM == CC_PLATFORM_WIN32
cocos2d::IMEDispatcher::sharedDispatcher()->dispatchDeleteBackward();
#else Director::getInstance()->end();
#endif
break;
case KeyCode::KEY_DELETE:
cocos2d::IMEDispatcher::sharedDispatcher()->dispatchDeleteBackward();
break;
}
}
再在 AppDelegate::applicationDidFinishLaunching 的return 之上添加监听事件:如下
//响应退格及删除键
EventListenerKeyboard *listener = EventListenerKeyboard::create();
listener->onKeyReleased = AppDelegate::keyEventCallback;
director->getEventDispatcher()->addEventListenerWithFixedPriority(listener, 1);
//--------------------end
ok:退格键可以响应了。
学习交流,仅供参考!
获取更多帮主请关注小程序