TextField:
先添加头文件:
#include "cocostudio/CocoStudio.h"
#include "ui/CocosGUI.h"
USING_NS_CC;
using namespace cocostudio::timeline;
using namespace cocos2d::ui;
先从cocosstdio中添加一个TextField然后导出csb文件,然后从文件中找出来。
auto rootNode = CSLoader::createNode("MainScene.csb");
addChild(rootNode);
//**********************************************************************
auto s = dynamic_cast<Sprite*>(rootNode->getChildByName("Default"));
s->setVisible(false);
text = dynamic_cast<TextField*>(rootNode->getChildByName("TextField_2"));
text->addEventListener(CC_CALLBACK_2(HelloWorld::textFieldEvent, this));
回调函数要有参数:
void HelloWorld::textFieldEvent(Ref * pSender, TextField::EventType type)
{
log("别摸我");
}
这种形式的编辑框,你鼠标点击上去是没有任何反应的,但是你点击之后再键盘输入的话。是可以输入的,不要以为没有反应,开始被欺骗了半天。
EditBox:
这种编辑框就是可以弹出输入框的那一种,比较容易辨别,使用方法也很简单。
cocos2d::Size size;// = Director::getInstance()->getWinSize();
size.width = 1000;
size.height = 500;
EditBox* stg = EditBox::create(size / 10, "frame.png", TextureResType::LOCAL);
stg->setPosition(Point(550,50));
addChild(stg);
这种也是比较好用的一种编辑框,还是九宫格的,再这里先记录一下他们二个的区别,防止以后找不到方法,网上乱找。