cocos2dX UI控件之CCEditBox
刚刚看了看以前写的博客, 我们已经学了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相关推荐
- 1cocos2dx扩展库UI控件,CCControlSlider,CCScale9Sprite(九妹图),CCControlSwitch,CCControlButton
UI控件来自cocos2dx的扩展库,完善了UI方面的元素,使cocos2dx更加丰富多彩.使用扩展库需包含: #include "cocos-ext.h" USING_NS ...
- 8月2日Cocos 斗鱼直播:2小时现撸自定义UI控件
嘟!嘟!嘟!Cocos斗鱼直播秀,将在下周二晚八点准时开车!本期我们要派出的当家主播,是位混迹江湖多年的老司机--子龙山人. 各位宝宝们先记得收好下面这张门票,下周二别忘记上车哦! 8月2日(周二)2 ...
- 【cocoStdio系列】之UI控件中
[cocosStdio]之UI控件(中) 大家好,我是Lampard 今天与大家通过一个demo了解cocos给我们提供的各个UI控件 reference:<cocos2 ...
- 【cocosStdio系列】之UI控件下
[cocosStdio系列]之UI控件下 大家好,我是Lampard 今天与大家通过一个demo了解cocos给我们提供的各个UI控件 reference:<cocos2 ...
- iOS SwiftUI篇-2 UI控件 Text Button Image List
iOS SwiftUI篇-2 UI控件 Text Button Image List Text 显示文本,相当于UILabel import SwiftUIstruct TextContentView ...
- UI控件无法响应点击等事件的探索
2019独角兽企业重金招聘Python工程师标准>>> UI控件无法响应点击等事件的探索 一.响应者链 关于响应者链,有如下一段介绍:每一个应用有一个响应者链,我们的视图结构是一个N ...
- RxSwift UI控件扩展
RxSwift UI控件扩展 最好的示例是参考RxCocoa查看类似的属性如何扩展Rx化的. 为了配合RxSwift的绑定关系,RxCocoa提供简单的基于Cocoa控件的扩展,但是很少,比如Labe ...
- UI控件库分享:DWZ(j-UI)、LigerUI、Linb
DWZ(j-UI): 在线演示地址:http://demo.dwzjs.com 在线文档:http://demo.dwzjs.com/doc/dwz-user-guide.pdf DWZ框架Ajax开 ...
- iOS 使用UI控件的外观协议UIAppearance进行设置默认UI控件样式
在iOS开发中,经常会对UINavigationBar的样式进行全局样式.采用的设置方式有两种: 第一种,采用方式如下: [UINavigationBar appearance] 这种是对一类对象的默 ...
最新文章
- Liunx 查看硬件信息
- 帆软报表加载(开始)完毕执行自定义JavaScript
- C#获取文件夹下指定格式的所有文件
- 关于selenium的8种元素定位
- 利用反射修改final数据域
- python中直方图-Numpy,Python中的“拉伸”直方图(级别)
- Java 使用 POI 操作 Excel
- 使用 Advanced Installer 打包 一键安装Web应用程序
- php 返回的缓存数据,基于PHP输出缓存(output_buffering)的深入理解
- 面向对象,面向服务,面向组件三种编程模式有什么区别
- mysql jdbc百度_mysql8.0 jdbc连接注意事项
- 这样设置路由,99.9%的黑客都攻不破
- span 超出部分换行
- HDU 3639 Hawk-and-Chicken
- 建文本文档 怎么改成html,文本文档怎么改格式 怎么把文本文档改成CFG格式
- 单片机c语言延时1ms函数,单片机c语言延时函数用int与char有延时差吗?
- 软件测试归纳法调试,《软件测试艺术》读书笔记(34)_归纳法、演绎法、回溯法、测试法调试及其原则、错误分析...
- 计算机辅助电路小结,电子电路计算机辅助设计实训报告.doc
- tan0.75等于多少度用计算机怎么算,75度的正弦值是多少?怎么计算?
- selenium实战 登录后菜单作业分享(白月黑羽网站selenium自动化学习)