当前位置: 首页 > 工具软件 > EditBox > 使用案例 >

ccui.EditBox 的使用

乐正乐湛
2023-12-01
  1. //设置背景图片  
  2. //ps:CCScale9Sprite对象,是一种CCSprite对象的变形,它的用法和CCSprite一样,不同点是,CCScale9Sprite对象有个特性就是缩放贴图时可以尽量不失帧。  
  3. CCScale9Sprite *pBg = CCScale9Sprite::create("extensions/orange_edit.png");  
  4.   
  5. //创建编辑框  
  6. CCEditBox *pEditBox = CCEditBox::create(CCSizeMake(200, 40), pBg);  
  7. pEditBox->setPosition(ccp(100, 100));  
  8. addChild(pEditBox);  
  9.   
  10. /* 
  11. 编辑框的一些函数 
  12. setText("字符串");         //设置文本 
  13. setFontColor(color);       //设置文本颜色 
  14. setPlaceHolder("文本");    //设置预设文本 
  15. getPlaceHolder(对象);      //获得预设文本 
  16. setMaxLength(对象);        //设置最大长度 
  17. getMaxLength(对象);        //获得最大长度 
  18. setInputMode();            //设置键盘模式 
  19. setInputFlag();           //设置文本类型 
  20. setReturnType();          //设置键盘return类型 
  21.  
  22. 1.setInputMode 
  23. 这里cocos2dx给我们提供了很多键盘的模式,我们来一一了解下。 
  24. kEditBoxInputModeAny                    //文本键盘(含换行) 
  25. kEditBoxInputModeEmailAddr        //邮件类键盘 
  26. kEditBoxInputModeNumeric            //数字符号键盘 
  27. kEditBoxInputModePhoneNumber //电话号码键盘 
  28. kEditBoxInputModeUrl                     //URL键盘 
  29. kEditBoxInputModeDecimal            //输入键盘(含小数点) 
  30. kEditBoxInputModeSingleLine        //文本键盘(不含换行) 
  31.  
  32.  
  33. 2.setInputFlag 
  34. 这里cocos2dx给我们提供了5种文本类型。 
  35. kEditBoxInputFlagPassword                          //密码形式 
  36. kEditBoxInputFlagSensitive                            //敏感数据输入 
  37. kEditBoxInputFlagInitialCapsWord                //每个单词首字符大写,并有提示 
  38. kEditBoxInputFlagInitialCapsSentence         //第一句首字符大写,并有提示 
  39. kEditBoxInputFlagInitialCapsAllCharacters  //自动大写 
  40.  
  41.  
  42. 3.setReturnType 
  43. 这里cocos2dx给我们提供了5种键盘返回类型。 
  44. kKeyboardReturnTypeDefault        //默认类型 
  45. kKeyboardReturnTypeDone           //Done字样 
  46. kKeyboardReturnTypeSend           //Send字样 
  47. kKeyboardReturnTypeSearch        //Search字样 
  48. kKeyboardReturnTypeGo               //Go字样 
  49. */  
  50.   
  51. //好了,光说不练可不行,我们来试一下做个登录界面吧。  
  52.   
  53.   
  54. //1.和CCtextFieldTTF一样,我们需要一个监控事件来操作。让我们的类继承CCEditBoxDelegate接口。    
  55. //开始编辑  
  56.   
  57. virtual void editBoxEditingDidBegin(cocos2d::extension::CCEditBox * myeditbox);  
  58.   
  59. //结束编辑  
  60.   
  61. virtual void editBoxEditingDidEnd(cocos2d::extension::CCEditBox * myeditbox);  
  62.   
  63. //编辑框文字改变  
  64.   
  65. virtual void editBoxTextChanged(cocos2d::extension::CCEditBox * myeditbox,const std::string&text);  
  66.   
  67. //触发return后的回调函数  
  68.   
  69. virtual void editBoxReturn(cocos2d::extension::CCEditBox * myeditbox);  
  70.   
  71.   
  72.  
  73. CCScale9Sprite * scale9one = CCScale9Sprite::create("boxbg.png");  
  74.   
  75. CCEditBox * myeditbox1=CCEditBox::create(CCSizeMake(200,40),scale9one);  
  76.   
  77. myeditbox1->setInputMode(kEditBoxInputModeSingleLine);  
  78.   
  79. myeditbox1->setPosition(ccp(mysize.width/2,mysize.height-100));  
  80.   
  81. this->addChild(myeditbox1);  
  82.   
  83. myeditbox1->setDelegate(this);  
  84.   
  85. CCEditBox * myeditbox2=CCEditBox::create(CCSizeMake(200,40),scale9one);  
  86.   
  87. myeditbox2->setInputMode(kEditBoxInputModeSingleLine);  
  88.   
  89. myeditbox2->setInputFlag(kEditBoxInputFlagPassword);  
  90.   
  91. myeditbox2->setPosition(ccp(mysize.width/2,mysize.height-200));  
  92.   
  93. this->addChild(myeditbox2);  
  94.   
  95. myeditbox2->setDelegate(this);  
 类似资料: