刚刚看了看以前写的博客, 我们已经学了CCLabelTTF, CCLabelBMFont, CCLAbelAtlas, CCSprite, CCMenu这些基础控件了, 基础控件也没有多少了, 我们今天来学习基础控件中的CCEditBox, 嘿嘿, 看名字大家也就知道是什么东东了吧.

我们先来看看继承关系:

所以, 我们创建类的时候要继承CCIMEDelegate

用法:

CCEditBox* editbox = CCEditBox::create(创建一个矩形区域, 一个"九妹"对象);

对于"九妹", 相信做过安卓的都清楚吧, 这里, 我解释一下, 所谓的九妹就是指可拉伸图片, 我们等一会儿会使用一张97*18的图片作为编辑框背景, 然后我们设置编辑框的宽高为300*100, 大家等会儿看看是不是图片还是很清晰, 这就是九妹的强大之处, 对图片进行填充式拉升, 避免了图片的失真, 九妹的用法:CCScale9sprite::create( "图片文件");

我们继续来看CCEditBox, 由于CCScale9sprite属于扩展功能, 所以要加上#include "cocos-ext.h", 并且使用命名空间USING_NS_CC_EXT;(我使用的是2.1.5版本的, 直接就可以使用, 貌似2.0以前的直接引用头文件会报错, 我们来看看解决办法,

( 旁白: 最近有盗图的, 进来了还说是原创, 打个标记先))

做了这么多准备工作, 我们正式开始来创建CCEditBox,

CCScale9Sprite* jiumei = CCScale9Sprite::create( "bg.png");                   //创建一个九妹对象CCEditBox* editbox = CCEditBox::create( CCSizeMake( 300, 100), jiumei);      //创建一个CCEditBoxeditbox->setPosition( ccp( visibleSize.width / 2, visibleSize.height / 2));addChild( editbox);

我们点击一下CCEditBox, 然后输入文字:

弹出了一个对话框, 我们就可以输入文字了, 并且背景图也并没有失真, 是不是?

手机会自动弹出键盘.

好了, 我们今天的课程... ... 其实还没完( 旁白:  去死!!!!)

我么输入文字之后, 还必须能够得到才行啊

我们继续来看, 查阅之后我们发现, cocos2dX为我们提供了很多功能, 我这里介绍两个常用的, 有需要的朋友可以自行查阅官方API, 或者离线手册(稍后我会上传)

getText();               //获取文本

setText( "字符串");               //设置文本(个人感觉没多大用处)

setFontColor( ccc3对象);           //设置文本颜色

setColor( ccc3对象); //设置背景颜色

setPlaceHolder( "文本");   //设置预设文本

setMaxLength( 对象);         //设置最大长度

setInputMode( 输入模式);             //设置键盘模式

setInputFlag( 文本类型);                  //设置文本类型

setReturnType( 键盘返回类型);       //设置键盘返回类型

键盘模式:

kEditBoxInputModeAny                    //文本样式

kEditBoxInputModeEmailAddr         //邮件样式

kEditBoxInputModeNumeric            //数字样式

kEditBoxInputModePhoneNumber  //电话号码样式

kEditBoxInputModeUrl                     //网址样式

kEditBoxInputModeDecimal            //输入样式

kEditBoxInputModeSingleLine        //文本样式

文本类型:

kEditBoxInputFlagPassword                          //密码形式

kEditBoxInputFlagSensitive                            //敏感数据输入

kEditBoxInputFlagInitialCapsWord                 //每个单词首字符大写

kEditBoxInputFlagInitialCapsSentence           //第一句首字符大写

kEditBoxInputFlagInitialCapsAllCharacters     //自动大写

返回类型:

kKeyboardReturnTypeDefault        //默认

kKeyboardReturnTypeDone           //Done

kKeyboardReturnTypeGo               //Go

kKeyboardReturnTypeSend           //Send

kKeyboardReturnTypeSearch        //Search

在使用getText的时候, 我们应该在用户输入完成之后再获取, 所以cocos2dX也给我们提供了一些虚函数, 监听完成之类的状态, 我也例举部分:

virtual void editBoxEditingDidEnd(cocos2d::extension::CCEditBox * myeditbox); //输入结束

virtual void editBoxReturn(cocos2d::extension::CCEditBox * myeditbox); //点了返回之后

... ...

我们可以根据需要, 实现对应的功能

我们继续, 加两行代码

 editbox->setInputFlag( kEditBoxInputFlagPassword);       //设置文本类型editbox->setColor( ccc3( 255, 0, 0));                    //设置yanseeditbox->setFontColor( ccc3( 0, 255, 255));             //设置文本颜色

再来看效果:

看起来还不错吧( 旁白: 真心丑)

嗯, 还有一部分功能没有办法在电脑上展示, 我们明天讲讲移植安卓, 大家在手机上测试吧

cocos2dX UI控件之CCEditBox相关推荐

  1. 1cocos2dx扩展库UI控件,CCControlSlider,CCScale9Sprite(九妹图),CCControlSwitch,CCControlButton

     UI控件来自cocos2dx的扩展库,完善了UI方面的元素,使cocos2dx更加丰富多彩.使用扩展库需包含: #include "cocos-ext.h" USING_NS ...

  2. 8月2日Cocos 斗鱼直播:2小时现撸自定义UI控件

    嘟!嘟!嘟!Cocos斗鱼直播秀,将在下周二晚八点准时开车!本期我们要派出的当家主播,是位混迹江湖多年的老司机--子龙山人. 各位宝宝们先记得收好下面这张门票,下周二别忘记上车哦! 8月2日(周二)2 ...

  3. 【cocoStdio系列】之UI控件中

    [cocosStdio]之UI控件(中)       大家好,我是Lampard       今天与大家通过一个demo了解cocos给我们提供的各个UI控件 reference:<cocos2 ...

  4. 【cocosStdio系列】之UI控件下

    [cocosStdio系列]之UI控件下       大家好,我是Lampard       今天与大家通过一个demo了解cocos给我们提供的各个UI控件 reference:<cocos2 ...

  5. iOS SwiftUI篇-2 UI控件 Text Button Image List

    iOS SwiftUI篇-2 UI控件 Text Button Image List Text 显示文本,相当于UILabel import SwiftUIstruct TextContentView ...

  6. UI控件无法响应点击等事件的探索

    2019独角兽企业重金招聘Python工程师标准>>> UI控件无法响应点击等事件的探索 一.响应者链 关于响应者链,有如下一段介绍:每一个应用有一个响应者链,我们的视图结构是一个N ...

  7. RxSwift UI控件扩展

    RxSwift UI控件扩展 最好的示例是参考RxCocoa查看类似的属性如何扩展Rx化的. 为了配合RxSwift的绑定关系,RxCocoa提供简单的基于Cocoa控件的扩展,但是很少,比如Labe ...

  8. UI控件库分享:DWZ(j-UI)、LigerUI、Linb

    DWZ(j-UI): 在线演示地址:http://demo.dwzjs.com 在线文档:http://demo.dwzjs.com/doc/dwz-user-guide.pdf DWZ框架Ajax开 ...

  9. iOS 使用UI控件的外观协议UIAppearance进行设置默认UI控件样式

    在iOS开发中,经常会对UINavigationBar的样式进行全局样式.采用的设置方式有两种: 第一种,采用方式如下: [UINavigationBar appearance] 这种是对一类对象的默 ...

最新文章

  1. Liunx 查看硬件信息
  2. 帆软报表加载(开始)完毕执行自定义JavaScript
  3. C#获取文件夹下指定格式的所有文件
  4. 关于selenium的8种元素定位
  5. 利用反射修改final数据域
  6. python中直方图-Numpy,Python中的“拉伸”直方图(级别)
  7. Java 使用 POI 操作 Excel
  8. 使用 Advanced Installer 打包 一键安装Web应用程序
  9. php 返回的缓存数据,基于PHP输出缓存(output_buffering)的深入理解
  10. 面向对象,面向服务,面向组件三种编程模式有什么区别
  11. mysql jdbc百度_mysql8.0 jdbc连接注意事项
  12. 这样设置路由,99.9%的黑客都攻不破
  13. span 超出部分换行
  14. HDU 3639 Hawk-and-Chicken
  15. 建文本文档 怎么改成html,文本文档怎么改格式 怎么把文本文档改成CFG格式
  16. 单片机c语言延时1ms函数,单片机c语言延时函数用int与char有延时差吗?
  17. 软件测试归纳法调试,《软件测试艺术》读书笔记(34)_归纳法、演绎法、回溯法、测试法调试及其原则、错误分析...
  18. 计算机辅助电路小结,电子电路计算机辅助设计实训报告.doc
  19. tan0.75等于多少度用计算机怎么算,75度的正弦值是多少?怎么计算?
  20. selenium实战 登录后菜单作业分享(白月黑羽网站selenium自动化学习)

热门文章

  1. 1000部电影艺术的刺杀和横行-1柴系媛
  2. 转录_boson_存储_lun
  3. 开源圈又一瓜!自研软件与开源雷同疑似抄袭。。。
  4. 泛微移动表单校验手机号跟邮箱
  5. C# 使用SQLite
  6. pansharpening(基于深度学习的全色图像锐化文献综述)
  7. ERP专业术语对照表
  8. 达梦数据库 手册说明
  9. SAP 会计凭证更改(FB02) 配置及注意事项
  10. 断崖式下跌 - 创业者的噩梦