Cocos3.0 Editbox输入框的运用。

前端之家收集整理的这篇文章主要介绍了Cocos3.0 Editbox输入框的运用。前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

很多朋友会发现,在使用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");

}

猜你在找的Cocos2d-x相关文章