cocos2dx3.2 退格键 删除键 响应

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:退格键可以响应了。

学习交流,仅供参考!

你可能感兴趣的:(事件,cocos2dx,退格)