Cocos2d-x3.2 EditBox的使用
为什么80%的码农都做不了架构师?>>>
#include "cocos2d.h"//引入头文件和命名空间
#include "extensions/cocos-ext.h"
USING_NS_CC_EXT;USING_NS_CC;class GameScene : public cocos2d::Layer, public EditBoxDelegate
{
public:static cocos2d::Scene* createScene();virtual bool init();CREATE_FUNC(GameScene);void funCallback(Ref* pSender);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);void toExtensionsMainLayer(cocos2d::Ref *sender);private: //注意不能用auto关键字Size size;Sprite *sprite;cocos2d::Label *_TTFShowEditReturn;cocos2d::extension::EditBox *_editName;cocos2d::extension::EditBox *_editPassword;cocos2d::extension::EditBox *_editEmail;bool _drag;
};
// Created by Jacedy on 14-8-11.
//
//#include "GameScene.h"USING_NS_CC;cocos2d::Scene* GameScene::createScene()
{auto scene = Scene::create(); //创建一个场景auto layer = GameScene::create(); //创建一个图层scene->addChild(layer);return scene;
}//初始化当前的图层
bool GameScene::init()
{if(!Layer::init()) //初始化父类return false;//获取屏幕大小size = Director::getInstance()->getVisibleSize();//auto size = Director::getInstance()->getWinSize();//添加一个图片精灵sprite = Sprite::create("OnePiece_1.png");sprite->setPosition(Vec2(size.width/2, size.height/2));this->addChild(sprite);auto glview = Director::getInstance()->getOpenGLView();auto visibleOrigin = glview->getVisibleOrigin();CCLOG("%f", visibleOrigin.x);_TTFShowEditReturn = Label::createWithSystemFont("No edit Control return!", "Mark Felt", 30);_TTFShowEditReturn->setPosition(Point(visibleOrigin.x + size.width /2, visibleOrigin.y + size.height - 50));addChild(_TTFShowEditReturn);//Back Menuauto itemBack = MenuItemFont::create("Back", CC_CALLBACK_1(GameScene::toExtensionsMainLayer, this));itemBack->setPosition(Point(visibleOrigin.x + size.width - 50, visibleOrigin.y + 25));auto menuBack = Menu::create(itemBack, NULL);menuBack->setPosition(Point::ZERO);addChild(menuBack);auto editBoxSize = Size(size.width - 100, 60);_editName = EditBox::create(editBoxSize, Scale9Sprite::create("green_edit.png"));_editName->setPosition(Point(visibleOrigin.x + size.width /2, visibleOrigin.y + size.height * 3 / 4));_editName->setFontName("Paint Boy");_editName->setFontSize(25);_editName->setFontColor(Color3B::RED);_editName->setPlaceHolder("Name:");_editName->setPlaceholderFontColor(Color3B::WHITE);_editName->setMaxLength(8);_editName->setReturnType(EditBox::KeyboardReturnType::DONE);_editName->setDelegate(this);addChild(_editName);_editPassword = EditBox::create(editBoxSize, Scale9Sprite::create("orange_edit.png"));_editPassword->setPosition(Point(visibleOrigin.x + size.width / 2, visibleOrigin.y + size.height / 2));_editPassword->setFont("American Typewriter", 30);_editPassword->setFontColor(Color3B::GREEN);_editPassword->setPlaceHolder("Password:");_editPassword->setMaxLength(6);_editPassword->setInputFlag(EditBox::InputFlag::PASSWORD);_editPassword->setInputMode(EditBox::InputMode::SINGLE_LINE);_editPassword->setDelegate(this);addChild(_editPassword);//bottom_editEmail = EditBox::create(Size(editBoxSize.width, editBoxSize.height), Scale9Sprite::create("yellow_edit.png"));_editEmail->setPosition(Point(visibleOrigin.x + size.width / 2, visibleOrigin.y + size.height / 4));_editEmail->setAnchorPoint(Point(0.5f, 1.0f));_editEmail->setPlaceHolder("Email:");_editEmail->setInputMode(EditBox::InputMode::EMAIL_ADDRESS);_editEmail->setDelegate(this);addChild(_editEmail);return true;
}void GameScene::editBoxEditingDidBegin(cocos2d::extension::EditBox* editBox)
{log("editBox %p DidBegin.", editBox);
}void GameScene::editBoxEditingDidEnd(cocos2d::extension::EditBox* editBox)
{log("editBox %p DidEnd.", editBox);
}void GameScene::editBoxTextChanged(cocos2d::extension::EditBox* editBox, const std::string &text)
{log("editBox %p TextChanged, text: %s", editBox, text.c_str());
}void GameScene::editBoxReturn(cocos2d::extension::EditBox *editBox)
{log("editBox %p was returned.", editBox);if(_editName == editBox){_TTFShowEditReturn->setString("Name EditBox return.");}else if (_editEmail == editBox){_TTFShowEditReturn->setString("Email EditBox return.");}
}void GameScene::toExtensionsMainLayer(cocos2d::Ref *sender)
{}void GameScene::funCallback(Ref* pSender)
{}
转载于:https://my.oschina.net/Jacedy/blog/310330
Cocos2d-x3.2 EditBox的使用相关推荐
- 【Cocos2d-x】开发实战-Cocos中的字符串、标签和中文乱码
本篇博客讲解: 1.Ccocos2d-x中的字符串 2.使用标签 3.中文乱码问题 Ccocos2d-x中的字符串 使用const char和stdstring 使用cocos2d__String 数 ...
- unity3D的面试题
第一部分 1.请简述值类型与引用类型的区别 2.C#中所有引用类型的基类是什么 3.请简述ArrayList和List<Int>的主要区别 4.请简述GC(垃圾回收)产生的原因,并描述如何 ...
- cocos2d-x3.0中数据类型vector,map、value
在3.0中,已经不再使用以前的ccarray,ccdictionary,ccint等从以前的oc继承过来的数据类型,转而加入了自己的数据结构,更加符合c++的开发习惯和思考模式,其中就包括了vecto ...
- cocos2dx3.16输入框:TextField和EditBox的使用
cocos2dx3.16引擎为我们提供了两类编辑框的控件: (1)CCTextFieldTTF(基于CCLabelTTF) self.textField = self.node_root:getChi ...
- cocos2dx3.x的EditBox和ControlSlider使用
1.EditBox EditBox即cocos2dx提供的输入框组件,创建需要一个九宫格精灵图片和Size作为初始化参数,我自己使用发现有一个小问题,就是当我点击组件进行输入时,不是使用图片背景,而是 ...
- Improve Performance and Reduce Memory with PVRTC Textures and Cocos2d
转载自:http://www.uchidacoonga.com/2011/07/pvrtc-textures-and-cocos2d/ Hello everyone! A few months hav ...
- 【Cocos2d开发】Cocos2d下安卓环境的搭建
在进行Cocos2d游戏开发前 我们先来配置一下环境,我们先来准备一下工具,我们所需要的工具分别为: 1.Cocos2d引擎 2.JDK 3.SDK 4.NDK 5.ANT 6.ADT 1.下载Coc ...
- cocos2d 从v1.x升级到v2.x需要注意的几个地方
首先v1.x一些CCNode定位函数实现的有问题,导致返回的CCPoint的x坐标不正确(超出320后无变化),怀疑是其对屏幕旋转判断的不正确;而且这种现象在iOS 7.1之前的模拟器中运行都正常,在 ...
- cocos2d游戏jsc文件格式解密,SpideMonkey大冒险
点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 介绍cocos2d游戏中常用的jsc格式文件的解密." 01 - 在破解游戏应用中,经常会碰到后缀为jsc的文件,这是基于coco ...
最新文章
- 如何使用标准稳压器输出几百毫伏极低直流电压?
- 【ASP.NET Core】解决“The required antiforgery cookie xxx is not present”的错误
- 拦截器中addInterceptor和excludePathPatterns里的/* /**是什么
- 想知道吗,如何在Github上精准地找到想要的开源项目?
- Kaggle竞赛方案分享:如何分辨杂草和植物幼苗(转)
- c 写c语言代码编辑器,最好用的c/cpp代码编辑器是vim,没有之一
- Codeforces-712C-Memory and De-Evolution
- LeetCode 506. 相对名次(map)
- artTemplate-3.0
- openmv探索_5_openmv读取的数据输出到外界
- mysql怎么设主键和外键_在MySQL中如何设置主键和外键
- 如何修改远程服务器登录密码
- saltstack 返回mysql_saltstack(返回值存储到Mysql)
- 阿里云机器学习平台PAI之分类实践
- 判断对错:逻辑结构与数据元素本身的内容和形式无关
- 从现在开始,格外珍惜时间,让生活充实起来
- java HotSpot 内存管理白皮书
- 教你使用powerDesigner反向生成oracle数据库模型
- python处理问题汇总二(重复值索引,顺序读取文件,drop函数,数组元素排名)
- Windows Terminal 快速安装
热门文章
- 国内学者新研究:中医AI登场,自动开出药方
- 张一鸣倡议AI发展要讲责任,马维英谈头条AI现状和未来 | 实录
- 解密亚马逊Ironman计划:背靠AWS云服务发力AI,对抗谷歌微软
- #敏捷个人# 每日认识101(15):成为一个有执行力的人
- POJ -- 1573 Robot Motion
- Android检测网络是否正常代码!
- 移动webAPP前端开发技巧汇总
- Eclipse--java.lang.OutOfMemoryError: PermGen space
- SQL Server 2012新增的内置函数尝试
- syncd的使用和部署