3.0正式版,win32下,TextField按下backspace键不能删除内容。
网上搜了下,很早就有的问题了,正式版了竟然还不解决。。。
真心无力吐槽啊!!!这种巨大而又明显的Bug。。。
从昨天突发奇想用Cocos2d做软件开始,经历了太多的摧残,简直听者伤心,闻者落泪。。。
已经去Cocoachina论坛反馈了,虽然基本白费口舌。。。
思路就是监听按键事件,调用setText修改内容。。。
auto listener = EventListenerKeyboard::create();
listener->onKeyPressed = CC_CALLBACK_2(HelloWorld::onKeyPressed, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
void HelloWorld::onKeyPressed(EventKeyboard::KeyCode keyCode, Event* event)
{
if (keyCode == EventKeyboard::KeyCode::KEY_BACKSPACE)
{
std::string str = ssid->getStringValue();
ssid->setText(str.substr(, str.size() - ));
}
}
其中_eventDispatcher是CCNode中的变量,ssid是TextField。
唉,一声叹息。。。