TextField和EditBox的 區別
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
{
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);
這種也是比較好用的一種編輯框,還是九宮格的,再這裡先記錄一下他們二個的區別,防止以後找不到方法,網上亂找。