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,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");

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值