Cocos2d-x中编辑框CCEditBox的使用

本文详细介绍了如何在Cocos2d-x中使用编辑框(CCEditBox)实现登录界面,包括设置键盘模式、文本类型及键盘返回类型等。并通过实例展示了如何监听编辑框的事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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.   
  58. //开始编辑  
  59.   
  60. virtual void editBoxEditingDidBegin(cocos2d::extension::CCEditBox * myeditbox);  
  61.   
  62. //结束编辑  
  63.   
  64. virtual void editBoxEditingDidEnd(cocos2d::extension::CCEditBox * myeditbox);  
  65.   
  66. //编辑框文字改变  
  67.   
  68. virtual void editBoxTextChanged(cocos2d::extension::CCEditBox * myeditbox,const std::string&text);  
  69.   
  70. //触发return后的回调函数  
  71.   
  72. virtual void editBoxReturn(cocos2d::extension::CCEditBox * myeditbox);  
  73.   
  74.   
  75.   
  76. 2.然后我们去cpp文件修改修改  
  77.   
  78.   
  79. CCScale9Sprite * scale9one = CCScale9Sprite::create("boxbg.png");  
  80.   
  81. CCEditBox * myeditbox1=CCEditBox::create(CCSizeMake(200,40),scale9one);  
  82.   
  83. myeditbox1->setInputMode(kEditBoxInputModeSingleLine);  
  84.   
  85. myeditbox1->setPosition(ccp(mysize.width/2,mysize.height-100));  
  86.   
  87. this->addChild(myeditbox1);  
  88.   
  89. myeditbox1->setDelegate(this);  
  90.   
  91. CCEditBox * myeditbox2=CCEditBox::create(CCSizeMake(200,40),scale9one);  
  92.   
  93. myeditbox2->setInputMode(kEditBoxInputModeSingleLine);  
  94.   
  95. myeditbox2->setInputFlag(kEditBoxInputFlagPassword);  
  96.   
  97. myeditbox2->setPosition(ccp(mysize.width/2,mysize.height-200));  
  98.   
  99. this->addChild(myeditbox2);  
  100.   
  101. myeditbox2->setDelegate(this); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值