很多朋友会发现,在使用cocostudio也就是UI编辑器的时候,软件中明明有个叫TextFIEld输入框的控件,但是却使用不了,而且还不支持按键响应,具体什么情况也没必要去深究,因为路不止一条,我们没必要在一棵树上吊死,我们可以采用另外一种方法来实现提供用户输入这个功能。
具体实现:
Game.h
class Game:public Layer,public EditBoxDelegate
{
pubilc:
static Scene *creatScene();
virtual bool init();
virtual voID editBoxEditingDIDBegin(EditBox* editBox);
virtual voID editBoxEditingDIDEnd(EditBox* editBox);
virtual voID editBoxTextChanged(EditBox* editBox,const std::string &text);
virtual voID editBoxReturn(EditBox *editBox);
CREATE_FUNC(Game);
privite:
EditBox *Box;
}
Game.cpp
bool Game::init()
{
if (!Layer::init())
{
return false;
}
Scale9Sprite* sacel9Spr = Scale9Sprite::create("Game.png"); //创建背景图片(添加一张九位图)
Box = EditBox::create(CCSizeMake(200,80),sacel9Spr); //创建CCEditBox控件
//第一个参数:EditBox控件的大小 //第二个参数:EditBox控件的背景图片
//设置文本字体和文本大小
Box->setFont("Arial"
,
10
);
//设置字体
Box->setFontname("Arial");
//设置控件位置
Box->setposition(ccp(300,300));
//设置控件中显示的文本
Box->setPlaceHolder("Enter name");
//设置Box控件中显示的字体的颜色,0为白色
Box->setFontcolor(ccc3(0,0));
//设置软键盘中回车按钮的样子
Box->setReturnType(EditBox::KeyboardReturnType::GO);
//设置输入模式
//Any表示可以输入任何数据
Box->setinputMode(EditBox::inputMode::ANY);
//当前类继承EditBoxDelegate类
Box->setDelegate(this);
this->addChild(Box);
、 return ture;
}
//四个editBox的响应。
voID Game::editBoxEditingDIDBegin(EditBox* editBox)
{
log("editBox %p DIDBegin.",editBox);
}
voID Game::editBoxEditingDIDEnd(EditBox* editBox)
{
log("editBox %p DIDEnd.",editBox);
}
voID Game::editBoxTextChanged(EditBox* editBox,const std::string &text)
{
log("editBox %p TextChanged,text: %s",editBox,text.c_str());
}
voID Game::editBoxReturn(EditBox *editBox)
{
log("edit return");
}
总结以上是内存溢出为你收集整理的Cocos3.0 Editbox输入框的运用。全部内容,希望文章能够帮你解决Cocos3.0 Editbox输入框的运用。所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)