Cocos2d-x   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Cocos2d-x TextField的使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

void textFieldEvent(Ref *pSender,cocos2d::ui::TextField::EventType typE);

cocos2d::ui::Text* _displayValueLabel;


Size size = Director::geTinstance()->getVisibleSize();
_displayValueLabel = cocos2d::ui::Text::create("No Event","Marker Felt.ttf",32);
_displayValueLabel->setAnchorPoint(Vec2(0.5f,-1.0f));
_displayValueLabel->setPosition(Vec2(size.width / 2.0f,size.height / 2.0f + _displayValueLabel->getContentSize().height * 1.5f));
this->addChild(_displayValueLabel);


cocos2d::ui::TextField* textField = cocos2d::ui::TextField::create("input words here","Arial",30);
textField->setMaxLengthEnabled(true);
textField->setMaxLength(3);
textField->setPosition(Vec2(size.width / 2.0f,size.height / 2.0f));
textField->addEventListener(CC_CALLBACK_2(HelloWorld::textFieldEvent,this));
this->addChild(textField);


void HelloWorld::textFieldEvent(Ref *pSender,cocos2d::ui::TextField::EventType typE)
{
switch (typE)
{
case cocos2d::ui::TextField::EventType::ATTACH_WITH_IME:
{
cocos2d::ui::TextField* textField = dynamic_cast<cocos2d::ui::TextField*>(pSender);
Size screenSize = CCDirector::geTinstance()->getWinSize();
textField->runAction(CCMoveTo::create(0.225f,
Vec2(screenSize.width / 2.0f,screenSize.height / 2.0f + textField->getContentSize().height / 2.0f)));
_displayValueLabel->setString(String::createWithFormat("attach with IME max length %d",textField->getMaxLength())->getCString());
}
break;

case cocos2d::ui::TextField::EventType::DETACH_WITH_IME:
{
cocos2d::ui::TextField* textField = dynamic_cast<cocos2d::ui::TextField*>(pSender);
Size screenSize = CCDirector::geTinstance()->getWinSize();
textField->runAction(CCMoveTo::create(0.175f,Vec2(screenSize.width / 2.0f,screenSize.height / 2.0f)));
_displayValueLabel->setString(String::createWithFormat("detach with IME max length %d",textField->getMaxLength())->getCString());
}
break;

case cocos2d::ui::TextField::EventType::INSERT_TEXT:
{
TextField* textField = dynamic_cast<cocos2d::ui::TextField*>(pSender);
_displayValueLabel->setString(String::createWithFormat("insert words max length %d",textField->getMaxLength())->getCString());
}
break;

case cocos2d::ui::TextField::EventType::deletE_BACK@R_673_10225@:
{
TextField* textField = dynamic_cast<cocos2d::ui::TextField*>(pSender);
_displayValueLabel->setString(String::createWithFormat("delete word max length %d",textField->getMaxLength())->getCString());
}
break;

default:
break;
}
}



大佬总结

以上是大佬教程为你收集整理的Cocos2d-x TextField的使用全部内容,希望文章能够帮你解决Cocos2d-x TextField的使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。