cocos2dx实现可换行输入框
来源:互联网 发布:精通java c 要饭 编辑:程序博客网 时间:2024/06/06 09:46
#pragma once#include"cocos-ext.h"USING_NS_CC_EXT;class EditBoxScence:public cocos2d::Node,public EditBoxDelegate{private:int nLineLen;//每行字数int fontSize;//字体大小int nLineNum;//当前行数float fontSclae;//字体大小和时间显示尺寸之间的比例cocos2d::Label*showText;//用来展示的文字EditBox* editBox;//输入框void initData();public:EditBoxScence();virtual bool init();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);};
#include"EditBoxScence.h"USING_NS_CC;EditBoxScence::EditBoxScence() {init();}void EditBoxScence::initData() {this->nLineLen = 20;this->fontSize = 50;this->nLineNum = 0;}bool EditBoxScence::init(){if (!cocos2d::Node::init()){return false;}this->initData();//---------------------------------添加账号框 editBox = EditBox::create(CCSizeMake(1000, 1000), Scale9Sprite::create("XXXX.png"));editBox->setPosition(ccp(500, 500));editBox->setFontColor(Color4B(0, 0, 0,0));//设置字体颜色 editBox->setPlaceHolder(utility::a_u8("").c_str());//设置预置文本 editBox->setMaxLength(1000);//设置最大长度 editBox->setInputMode(cocos2d::ui::EditBox::InputMode::SINGLE_LINE);//可以输入任何,但是不包括换行 editBox->setInputFlag(cocos2d::ui::EditBox::InputFlag::INITIAL_CAPS_WORD);//设置输入标志位 editBox->setReturnType(cocos2d::ui::EditBox::KeyboardReturnType::DONE);//设置返回类型 editBox->setDelegate(this);//当前类继承CCEditBoxDelegate类 this->addChild(editBox);this->fontSclae = 1.6;TTFConfig ttfConfig;ttfConfig.fontFilePath = "res\\font\\lalalala.ttf"; //必须配置ttfConfig.fontSize = this->fontSize;ttfConfig.distanceFieldEnabled = false;ttfConfig.outlineSize = 0;ttfConfig.glyphs = GlyphCollection::DYNAMIC;ttfConfig.customGlyphs = nullptr;//使用TTFConfig配置,来创建TTFshowText = Label::createWithTTF(ttfConfig, "天华散净", TextHAlignment::LEFT,this->nLineLen * this->fontSize/this->fontSclae);showText->setAnchorPoint(Vec2(0,0.5));showText->setPosition(ccp(500, 500));this->addChild(showText);}void EditBoxScence::editBoxEditingDidBegin(EditBox *editBox){//this->initData();CCLOG("start edit");}void EditBoxScence::editBoxEditingDidEnd(EditBox *editBox){CCLOG("end edit");}void EditBoxScence::editBoxReturn(EditBox *editBox){CCLOG("editbox return");}void EditBoxScence::editBoxTextChanged(EditBox *editBox, const std::string &text){showText->setString(text);if (this->nLineNum < showText->getStringNumLines()) {this->nLineNum++;showText->setPosition(showText->getPosition() + Vec2(0, -fontSize / this->fontSclae));}if (this->nLineNum > showText->getStringNumLines()) {this->nLineNum--;showText->setPosition(showText->getPosition() + Vec2(0, fontSize / this->fontSclae));}}
0 0
- cocos2dx实现可换行输入框
- cocos2dx之Label实现换行
- cocos2dx lua实现EditBox输入框
- 可输入下拉框的实现。
- 可输入下拉框的实现
- jsp页面可输入下拉框实现
- CSS3实现可伸缩输入框
- html实现可输入下拉框
- js实现可输入的下拉框
- 实现DropDownList可输入
- 文本框实现输入回车换行
- cocos2dx lua 再谈实现EditBox输入框
- div可输入,单词溢出或超出文字换行
- 可输入下拉框
- 可输入下拉框
- 可输入下拉框
- 可下拉输入框
- cocos2dx中输入框输入限制数字
- [译] 通过 Node.js, Express.js 实现 HTTP/2 Server Push
- BZOJ 1232: [Usaco2008Nov]安慰奶牛cheer Kruskal最小生成树
- ipa上传Appstore报错iPad Multitasking support requires these orientations
- IIS
- GestureDetector 手势监听,根据手势动态操作布局显示
- cocos2dx实现可换行输入框
- linux搭建gonet
- Synchronized关键字用法
- Git将本地代码提交到coding上,切换分支
- 安装和启动Redis
- poj 2796 单调栈
- POJ 3267 The Cow Lexicon
- 滑动侧边栏
- valid parentheses