本文轉載於: 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);
