cocos2d-x 输入框CCEditBox的使用
特别说明: 这个版本的CCEditBox,设计有缺陷,背景图片的位置与输入区域的位置不同步,需要自己修改原来的代码,自己加上输入区域的坐标偏移量。
void CCEditBox::setPosition(const CCPoint& pos)
{
CCControlButton::setPosition(pos);
if (m_pEditBoxImpl != NULL)
{
//add by mayi 为了让输入框坐标居中,特别如此处理 20130605
CCSize m_screenSize = CCDirector::sharedDirector()->getWinSize();
CCPoint newPos = ccp(pos.x + m_screenSize.width/2, pos.y + m_screenSize.height/2);
m_pEditBoxImpl->setPosition(newPos);
}
}
***==================================***
关于输入框,有CCTextFieldTTF、CCEditBox能用
最后还是决定用CCEditBox,便捷舒适,后续会做成内部函数来使用,免除每次都需要写很多代码
CCScale9Sprite * bgsprite =CCScale9Sprite::create("bgsprite.png");
CCEditBox * box = CCEditBox::create(CCSizeMake(200, 50),bgsprite);
box->setPlaceHolder("请输入您的昵称");//当编辑框中没有任何字符的提示
box->setMaxLength(15);//设置最大输入文本长度
box->setReturnType(kKeyboardReturnTypeDone);//设置return类型
void HelloWorld:: editBoxEditingDidBegin(cocos2d::extension::CCEditBox*editBox){}
//结束编辑
void HelloWorld:: editBoxEditingDidEnd(cocos2d::extension::CCEditBox* editBox){}
//编辑框文本改变
void HelloWorld:: editBoxTextChanged(cocos2d::extension::CCEditBox* editBox, const std::string& text){}
//当触发return后的回调函数
void HelloWorld:: editBoxReturn(cocos2d::extension::CCEditBox* editBox){}
box->setText("My name is six ant");//设置编辑框内的文字
CCLOG("Text:%s",box->getText());//获取编辑框内的文字
box->setFontColor(ccc3(255, 0, 0));//设置文本颜色
box->setInputFlag(kEditBoxInputFlagSensitive);//设置输入模式,密码为:kEditBoxInputFlagPassword
box->setPosition(ccp(240, 220));
this->addChild(box);
如果要处理输入框的各种状态,则需要重写容器的对应函数
//开始进入编辑
void HelloWorld:: editBoxEditingDidBegin(cocos2d::extension::CCEditBox*editBox){}
//结束编辑
void HelloWorld:: editBoxEditingDidEnd(cocos2d::extension::CCEditBox* editBox){}
//编辑框文本改变
void HelloWorld:: editBoxTextChanged(cocos2d::extension::CCEditBox* editBox, const std::string& text){}
//当触发return后的回调函数
void HelloWorld:: editBoxReturn(cocos2d::extension::CCEditBox* editBox){}
cocos2d-x 输入框CCEditBox的使用的更多相关文章
- [置顶] 【玩转cocos2d-x之三十】点九图和输入框的使用
原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/17297721 登录界面一个帐号/密码输入框或者主角命名框是少不了的.这节就来 ...
- cocos2dx注册场景 使用CCEditBox实现输入框
我们在开始玩一个游戏时,通常要做的第一件事就是注册账号,下面就让我们来制作一个简单的注册场景,我所使用的cocos2dx版本为2.2.2 在这个场景中最主要的元素就是输入框和按钮,我从网上找了一些素材 ...
- 部分android手机CCEditBox输入之后键盘输入框不消失得问题
用小米2s做登录界面时,用到CCEditBOx,输入完之后,键盘可以移下去,但是屏幕上还是显示得键盘自己得输入框,这时点击屏幕任何位置都无法把输入框干掉. 为什么ios上就没有这些android得琐碎 ...
- [Quick-x]移动CCEditbox的父对象导致输入框位置偏移问题
CCEditbox对象添加到某个layer,当layer移动时候,editbox输入状态下输入光标保持在原位,看起来就是光标发生了偏移 如果开始时添加的editbox不在屏幕内的话,光标会出现在屏幕边 ...
- 学生信息管理系统(cocos2d引擎)——数据结构课程设计
老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite* spBG = CCSprite::create("&qu ...
- cocos2d-x CCEditBox 字符不能显示完全的bug
cocos2d-x CCEditBox 字符不能显示完全的bug (cocos2dx版本 2.2.0)用CCEditBox制作帐号输入框,当输入的内容超过框的宽度时,框里面不会显示当前输入的字符,显示 ...
- Cocos2d-x CCEditBox & CCTextFieldTTF
下面简单记录一下如何Cocos2d-x中创建输入编辑框.在引擎中为我们提供了这样两个类:CCEditBox 和 CCTextFieldTTF. 一.CCEditBox ①这个类文件的位置 ②这个类 ...
- 关于cocos2d-x 中 CCEditBox 的输入位置和IOS虚拟键盘位置不重合的bug
这个文章的名字起的实在是有点长,主要是怕说不清楚. 在IOS上,输入时,我看到过的比较少,就两种,如附件两张图.一个是虚拟键盘的输入框完全是在CCEditBox上,另一张虚拟键盘的输入区域是紧挨着键盘 ...
- (转) CCTextFieldTTF输入框
CCTextFieldTTF输入框 分类: cocos2d-x 2013-04-08 16:32 2964人阅读 评论(1) 收藏 举报 新建工程,testInput 修改HelloWorldScen ...
随机推荐
- 判断一组checkbox中是否有被选中的
if ($(":checkbox[name=subcheck]:checked").size() == 0) { alert("请至少选择一条记录进行删除操作!" ...
- CentOS6.8 4.4.43内核 安装PF_RING
环境: 系统:CentOS 6.8 内核版本:4.4.43 PF_RING版本:6.9.0 编译PF_RING需要内核源码,由于我的机器上只有4.4.43版本的modules和4.4.43的源码,并没 ...
- 【转】go语言的字节序
原文:http://lihaoquan.me/2016/11/5/golang-byteorder.html 这个人的博客写的不错,品质也比较高. 我应该也要有这种精神,这种态度.深入到计算机的世界中 ...
- 如何访问python类中的私有方法
在python中,不像c#/java类语言,支持类的私有方法,这点有点像objc,虽然objc可以通过扩展extension来实现,但源于objc的运行时特性,我们还是可以通过非常手段来进行访问的.不 ...
- 转:CodeReview 如何做?
http://www.cnblogs.com/IT-Bear/archive/2012/07/04/2576367.html
- Win7 64位 IIS未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项
未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项.试图加载格式不正 解决方案: 1.需要在IIS里设置,启用32位应用程序我用的是iis7 把启用32位应用程序的fals ...
- Junit测试Spring应用Dubbo测试框架之-Excel 工具类
package com.tree.autotest.demo; import com.alibaba.fastjson.JSON;import org.apache.poi.hssf.usermode ...
- 在centos中安装mysql详细步骤说明
Last login: Sun Dec 24 04:55:59 2017 1.安装依赖 [root@node001 ~]# yum install -y perlLoaded plugins: fas ...
- RocketMq通信协议格式及编解码 (源码分析)
一.RocketMq broker服务器与客户端的网络通信是基于netty4.x实现的,重点分析 RocketMq设计的通信协议及对应的编解码 开发. 名字解释 ...
- 解决ARC的循环引用问题
看看下面的程序有什么问题: BNRItem.h @interface BNRItem : NSObject @property (nonatomic, strong) BNRItem *contain ...