//设置背景图片
//ps:CCScale9Sprite对象,是一种CCSprite对象的变形,它的用法和CCSprite一样,不同点是,CCScale9Sprite对象有个特性就是缩放贴图时可以尽量不失帧。
CCScale9Sprite *pBg = CCScale9Sprite::create("extensions/orange_edit.png");
//创建编辑框
CCEditBox *pEditBox = CCEditBox::create(CCSizeMake(200, 40), pBg);
pEditBox->setPosition(ccp(100, 100));
addChild(pEditBox);
/*
编辑框的一些函数
setText("字符串"); //设置文本
setFontColor(color); //设置文本颜色
setPlaceHolder("文本"); //设置预设文本
getPlaceHolder(对象); //获得预设文本
setMaxLength(对象); //设置最大长度
getMaxLength(对象); //获得最大长度
setInputMode(); //设置键盘模式
setInputFlag(); //设置文本类型
setReturnType(); //设置键盘return类型
1.setInputMode
这里cocos2dx给我们提供了很多键盘的模式,我们来一一了解下。
kEditBoxInputModeAny //文本键盘(含换行)
kEditBoxInputModeEmailAddr //邮件类键盘
kEditBoxInputModeNumeric //数字符号键盘
kEditBoxInputModePhoneNumber //电话号码键盘
kEditBoxInputModeUrl //URL键盘
kEditBoxInputModeDecimal //输入键盘(含小数点)
kEditBoxInputModeSingleLine //文本键盘(不含换行)
2.setInputFlag
这里cocos2dx给我们提供了5种文本类型。
kEditBoxInputFlagPassword //密码形式
kEditBoxInputFlagSensitive //敏感数据输入
kEditBoxInputFlagInitialCapsWord //每个单词首字符大写,并有提示
kEditBoxInputFlagInitialCapsSentence //第一句首字符大写,并有提示
kEditBoxInputFlagInitialCapsAllCharacters //自动大写
3.setReturnType
这里cocos2dx给我们提供了5种键盘返回类型。
kKeyboardReturnTypeDefault //默认类型
kKeyboardReturnTypeDone //Done字样
kKeyboardReturnTypeSend //Send字样
kKeyboardReturnTypeSearch //Search字样
kKeyboardReturnTypeGo //Go字样
*/
//好了,光说不练可不行,我们来试一下做个登录界面吧。
//1.和CCtextFieldTTF一样,我们需要一个监控事件来操作。让我们的类继承CCEditBoxDelegate接口。
//开始编辑
virtual void editBoxEditingDidBegin(cocos2d::extension::CCEditBox * myeditbox);
//结束编辑
virtual void editBoxEditingDidEnd(cocos2d::extension::CCEditBox * myeditbox);
//编辑框文字改变
virtual void editBoxTextChanged(cocos2d::extension::CCEditBox * myeditbox,const std::string&text);
//触发return后的回调函数
virtual void editBoxReturn(cocos2d::extension::CCEditBox * myeditbox);
2.然后我们去cpp文件修改修改
CCScale9Sprite * scale9one = CCScale9Sprite::create("boxbg.png");
CCEditBox * myeditbox1=CCEditBox::create(CCSizeMake(200,40),scale9one);
myeditbox1->setInputMode(kEditBoxInputModeSingleLine);
myeditbox1->setPosition(ccp(mysize.width/2,mysize.height-100));
this->addChild(myeditbox1);
myeditbox1->setDelegate(this);
CCEditBox * myeditbox2=CCEditBox::create(CCSizeMake(200,40),scale9one);
myeditbox2->setInputMode(kEditBoxInputModeSingleLine);
myeditbox2->setInputFlag(kEditBoxInputFlagPassword);
myeditbox2->setPosition(ccp(mysize.width/2,mysize.height-200));
this->addChild(myeditbox2);
myeditbox2->setDelegate(this);
【转载】
Cocos2d-x中编辑框CCEditBox的使用
最新推荐文章于 2024-08-01 17:57:03 发布