本文轉載於: http://5.quanpao.com/?p=561

 

使用CCEditBox需要啟用擴展庫既extension ,因此需要引入這個空間名

有兩種方法, using namespace extension 或 宏定義  USING_NS_CC_EXT

在2.2.2版本中,不需要自己再額外引入包及連接器。

但是都需要引入頭文件

#include “cocos-ext.h”

CCEditBox 只能單行輸入,可以輸入明文及密碼。自帶了4個虛函數及一系列輸入時的常用操作函數,並且跨平台實現了各設備下的輸入顯示效果。

在H文件聲明以下函數:

void editBoxEditingDidBegin( CCEditBox *editBox ); //開始時的函數

void editBoxEditingDidEnd( CCEditBox *editBox ); //結束時的函數

void editBoxReturn( CCEditBox *editBox ); //輸入完后點擊回車時的處理

void editBoxTextChanged( CCEditBox *editBox, const std::string &text ); //文字更改函數

在CPP文件實現這4個方法,可以是空方法。

在需要使用EDITBOX的地方實現以下代碼,將其添加到層或某個容器。

CCScale9Sprite* sacel9SprY = CCScale9Sprite::create(“CloseNormal.png”); //創建9宮格自動縮放按鈕

CCEditBox* box = CCEditBox::create(CCSizeMake(300, 100), sacel9SprY); //創建輸入框,需要參數:巨型,9宮格背景

//設置編輯框內的文字

// box->setText(“xcc”);

//設置位置

box->setPosition(ccp(200,200));

//獲取編輯框內的文字

//CCLOG(“Text:%s”,box->getText());

//box->setDelegate(this);

//設置文本的顏色

box->setFontColor(ccc3(255, 0, 0));

//當編輯框中沒有任何字符的提示

box->setPlaceHolder(“please insert ur username:”);

//最大輸入文本長度

box->setMaxLength(15);

box->setInputMode(kEditBoxInputModeAny); //設置輸入鍵盤模式

// kEditBoxInputModeAny: 開啟任何文本的輸入鍵盤,包括換行

// kEditBoxInputModeEmailAddr: 開啟 郵件地址 輸入類型鍵盤

// kEditBoxInputModeNumeric: 開啟 數字符號 輸入類型鍵盤

// kEditBoxInputModePhoneNumber: 開啟 電話號碼 輸入類型鍵盤

// kEditBoxInputModeUrl: 開啟 URL 輸入類型鍵盤

// kEditBoxInputModeDecimal: 開啟 數字 輸入類型鍵盤,允許小數點

// kEditBoxInputModeSingleLine: 開啟任何文本的輸入鍵盤,不包括換行

box->setReturnType(kKeyboardReturnTypeDone);

// kKeyboardReturnTypeDefault: 默認使用鍵盤return 類型

// kKeyboardReturnTypeDone: 默認使用鍵盤return類型為“Done”字樣

// kKeyboardReturnTypeSend: 默認使用鍵盤return類型為“Send”字樣

// kKeyboardReturnTypeSearch: 默認使用鍵盤return類型為“Search”字樣

// kKeyboardReturnTypeGo: 默認使用鍵盤return類型為“Go”字樣

//設置該屬性輸入密碼時為替代符

//box->setInputFlag(kEditBoxInputFlagPassword);

this->addChild(box,5);