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

来源:互联网 发布:手机淘宝账号交易平台 编辑:程序博客网 时间:2024/06/05 09:11


6CCEditBox的实现

 

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

 

}
0 0
原创粉丝点击