cocos2dx-3.3 使用编辑框(EditBox)
来源:互联网 发布:mysql 最多从库 编辑:程序博客网 时间:2024/06/03 23:48
头文件要包含:
#include "cocos-ext.h"USING_NS_CC_EXT;
类要继承于
class HelloWorld : public cocos2d::Layer ,public EditBoxDelegate
这里有个问题,我这样写之后会报错,提示:EditBoxDeletgate不是类名或者结构名,这个纠结了很久,后来在网上看到别人用ScoreView的时候也会出现这样的问题,有人说包含目录:$(EngineRoot)就行了,我试了一下果然成功~
在类里重载编辑框的函数
//---------------------------------添加编辑框 virtual void editBoxEditingDidBegin(cocos2d::extension::EditBox* editBox); virtual void editBoxEditingDidEnd(cocos2d::extension::EditBox* editBox); virtual void editBoxTextChanged(cocos2d::extension::EditBox* editBox,const std::string &text); virtual void editBoxReturn(cocos2d::extension::EditBox *editBox);
根据函数名我们可以知道这些函数的作用
在init函数里创建编辑框
//---------------------------------添加账号框auto pEditBox_name = EditBox::create(CCSizeMake(250,50), Scale9Sprite::create("button.png")); pEditBox_name->setPosition(ccp(visibleSize.width/2, visibleSize.height*3/4)); pEditBox_name->setFontColor(Color3B(0,0,0));//设置字体颜色 pEditBox_name->setPlaceHolder("Name:");//设置预置文本 pEditBox_name->setMaxLength(8);//设置最大长度 pEditBox_name->setInputMode(cocos2d::ui::EditBox::InputMode::SINGLE_LINE);//可以输入任何,但是不包括换行 pEditBox_name->setInputFlag(cocos2d::ui::EditBox::InputFlag::INITIAL_CAPS_WORD);//设置输入标志位 pEditBox_name->setReturnType(cocos2d::ui::EditBox::KeyboardReturnType::DONE);//设置返回类型 pEditBox_name->setDelegate(this);//当前类继承CCEditBoxDelegate类 pEditBox_name->setTag(101);this->addChild(pEditBox_name); //---------------------------------添加密码框auto pEditBox_password = EditBox::create(CCSizeMake(250,50), Scale9Sprite::create("button.png"));pEditBox_password->setPosition(ccp(visibleSize.width/2, visibleSize.height*2/4));pEditBox_password->setFontColor(Color3B(0,0,0));pEditBox_password->setPlaceHolder("Password:");pEditBox_password->setMaxLength(6);pEditBox_password->setInputMode(cocos2d::ui::EditBox::InputMode::NUMERIC);pEditBox_password->setInputFlag(cocos2d::ui::EditBox::InputFlag::PASSWORD);pEditBox_password->setReturnType(cocos2d::ui::EditBox::KeyboardReturnType::DONE);pEditBox_password->setDelegate(this);pEditBox_password->setTag(102);this->addChild(pEditBox_password);
然后重写编辑框的功能函数
void HelloWorld::editBoxEditingDidBegin(EditBox *editBox) { CCLOG("start edit"); } void HelloWorld::editBoxEditingDidEnd(EditBox *editBox) { CCLOG("end edit"); } void HelloWorld::editBoxReturn(EditBox *editBox) { CCLOG("editbox return"); } void HelloWorld::editBoxTextChanged(EditBox *editBox,const std::string &text) { auto editbox = (EditBox*)editBox;switch(editBox->getTag()){case 101:CCLOG("EditBox_name changed");m_name=text;break;case 102:CCLOG("EditBox_password changed");m_password=text;break;default:break;}}
好了,这样编辑框就出来了
之后说说如何做个登陆的效果
0 0
- cocos2dx-3.3 使用编辑框(EditBox)
- 06 EditBox 编辑框
- EditBox 编辑框
- cocos2dx lua 输入框用法(EditBox)
- cocos2dx lua实现EditBox输入框
- MFC EditBox 编辑框禁止输入中文
- cocos2dx之EditBox
- cocos2dx editbox优化
- cocos2dx 2.x editbox
- cocos2dx一编辑框的使用CCEditBox
- cocos2dx lua 再谈实现EditBox输入框
- EditBox的使用
- Cocos2dx 3.0 过渡篇(七)EditBox和ControlSlider不得不说的故事
- Cocos2dx 3.0 过渡篇(七)EditBox和ControlSlider不得不说的故事
- Cocos2dx 3.0 过渡篇(七)EditBox和ControlSlider不得不说的故事
- cocos2dx 控件学习EditBox TableView ControlSlider ScrollView
- cocos2dx EditBox 设置字号大小的问题
- cocos2dx-2.X版本的EditBox问题
- SDL中的互斥量和条件变量
- Error using fmincon (line 816), Hessian option set to 'on' but no Hessian function provided in optio
- 指针自加问题
- Xcode Cocoa程序MessageBox 弹框
- 一些学习前端的网站(html&css&javascript等)持续更新。。。
- cocos2dx-3.3 使用编辑框(EditBox)
- 安卓广播BroadcastReceiver
- Multiply Strings
- UIWebView和Js交互
- FusionCharts的使用方法
- NASM Intro - Compile and Link
- iOS开发网络数据之AFNetworking使用
- 搞定:找不到该项目,请确认该项目的位置的办法
- link2SD的原理以及开启方法