您的位置:首页 > 移动开发 > Cocos引擎

6、Cocos2d-X 游戏编程之------CCEditBox的实现

2014-10-07 19:57 387 查看


6、CCEditBox的实现

 

(1)

继承CCEditBoxDelegate协议;

//开始进入编辑

   

virtual voideditBoxEditingDidBegin(cocos2d::extension::CCEditBox* editBox);

   

//结束编辑

   

virtual voideditBoxEditingDidEnd(cocos2d::extension::CCEditBox* editBox);

   

//编辑框文本改变

  

virtual voideditBoxTextChanged(cocos2d::extension::CCEditBox* editBox, conststd::string& text);

   

//当触发return后的回调函数

   

virtual voideditBoxReturn(cocos2d::extension::CCEditBox* editBox);

(2)

boolHelloWorld::init()

 

{

  

 if ( !CCLayer::init() )

   

{

       

return false;

   

}

   

 

   
CCSize size= CCDirector::sharedDirector()->getWinSize();

 

 

   
CCScale9Sprite * sacel9SprY =CCScale9Sprite::create("yellow_edit.png");

 

   
CCEditBox* box =CCEditBox::create(CCSizeMake(300, 60), sacel9SprY);

 

   
//设置编辑框内的文字

 

   
box->setText("");

 

   
//获取编辑框内的文字

 

   CCLOG("Text:%s",box->getText());

 

   
//设置文本的颜色

 

   
box->setFontColor(ccc3(255, 0, 0)); 

 

   
//当编辑框中没有任何字符的提示

 

   
box->setPlaceHolder("请输入帐号");

 

   CCLOG("PlaceHolder:%s",box->getPlaceHolder());;

 

  
//最大输入文本长度

 

  
box->setMaxLength(10);

 

   CCLOG("Length:%i",box->getMaxLength());

 

 

 

   
/**

 

//     
kEditBoxInputModeEmailAddr:   开启邮件地址
输入类型键盘

 

//     
kEditBoxInputModeNumeric:     开启数字符号
输入类型键盘  

 

//     
kEditBoxInputModePhoneNumber: 开启
电话号码
输入类型键盘  

 

//     
kEditBoxInputModeUrl:         开启 URL
输入类型键盘    

 

//     
kEditBoxInputModeDecimal:     开启数字
输入类型键盘,允许小数点  

 

//     
kEditBoxInputModeSingleLine:  开启任何文本的输入键盘,不包括换行

 

//    
*/

/  

     
//设置输入模式

 

   
box->setInputMode(kEditBoxInputModeAny);

 

 

 

 

 
/**

//     
kEditBoxInputFlagPassword:  密码形式输入

 

//     
kEditBoxInputFlagSensitive: 敏感数据输入、存储输入方案且预测自动完成

 

//     
kEditBoxInputFlagInitialCapsWord: 每个单词首字母大写,并且伴有提示

 

//     
kEditBoxInputFlagInitialCapsSentence: 第一句首字母大写,并且伴有提示

 

//     kEditBoxInputFlagInitialCapsAllCharacters:
所有字符自动大写

 

    
*/

//   

//设置输入类型

 

   box->setInputFlag(kEditBoxInputFlagSensitive);

 

 

 

 

 

   
/**

 

//     
kKeyboardReturnTypeDefault:  默认使用键盘return
类型

 

//     
kKeyboardReturnTypeDone:     默认使用键盘return类型为“Done”字样

 

//     
kKeyboardReturnTypeSend:     默认使用键盘return类型为“Send”字样

 

//     
kKeyboardReturnTypeSearch:   默认使用键盘return类型为“Search”字样

 

//     
kKeyboardReturnTypeGo:       默认使用键盘return类型为“Go”字样

 

   
*/

//   

//设置返回类型

 

//   box->setReturnType(kKeyboardReturnTypeDone);

 

 

    box->setPosition(ccp(size.width*0.5,220));

 

   
addChild(box);

 

 

 

 

   
CCScale9Sprite * sacel9SprG =CCScale9Sprite::create("green_edit.png");

 

   
CCEditBox* box2 =CCEditBox::create(CCSizeMake(300, 60), sacel9SprG);

 

   box2->setInputFlag(kEditBoxInputFlagPassword);

 

   
box2->setReturnType(kKeyboardReturnTypeGo);

 

   
box2->setMaxLength(12);

 

   
box2->setPlaceHolder("请输入密码");

 

   box2->setPosition(ccp(size.width*0.5,120));

 

   
addChild(box2);

   

       

//接口绑定

  

 box2->setDelegate(this);

   

   

return true;

 

}

 

(3)协议的实现

//开始进入编辑

 

voidHelloWorld::editBoxEditingDidBegin(cocos2d::extension::CCEditBox* editBox)

{

   

     
CCLOG("Start Edit");

 

}

 

 

//结束编辑

 

voidHelloWorld::editBoxEditingDidEnd(cocos2d::extension::CCEditBox* editBox)

{

   

     
CCLOG("End Edit");

 

}

 

 

//编辑框文本改变

 

voidHelloWorld::editBoxTextChanged(cocos2d::extension::CCEditBox* editBox, conststd::string& text)

{

   

     
CCLOG("TextChanged");

 

}

 

 

//当触发return后的回调函数

 

voidHelloWorld::editBoxReturn(cocos2d::extension::CCEditBox* editBox)

{

   

     
CCLOG("editBoxReturn");

 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Cocos2d-X CCEditBox
相关文章推荐