I love iPhone, Android, Cocos2d-x
[Cocos2d-x] テキスト入力できる CCEditText クラス
Cocos2dx ver2 から追加された CCEditText を試してみました。CCEditText クラスは文字をキーボードから入力可能にするクラスです。ゲームで名前の入力などに使用できそうです。また、キーボードが表示されることにより入力フォームが隠れてしまう場合も自動的に画面をスクロールさせてくれます。
入力エリアの画像は 9-patch 画像を指定します。contentSize によって画像が自動的にストレッチされます。また、テキストのフォントサイズも contentSize によって自動的に決まります。プレースホルダの指定やリターンキーのタイプの指定も可能です。
テキスト入力エリアのコードは下記のようになります。
CCEditBox* editBox;
CCSize editBoxSize = CCSizeMake(200, 50);
editBox = CCEditBox::create(editBoxSize, CCScale9Sprite::create("sprite9.png"));
editBox->setPosition(ccp(size.width/2, size.height/4));
editBox->setFontColor(ccBLUE);
editBox->setPlaceHolder("Name:");
editBox->setMaxLength(8);
editBox->setReturnType(kKeyboardReturnTypeDone);
editBox->setDelegate(this);
this->addChild(editBox);
CCEditBoxDelegate クラスを継承しておけば、キーボードからの入力に応じてデリゲートメソッドを呼び出すことも可能です。
#include "CCEditBox.h"
USING_NS_CC_EXT
class HelloWorld : public cocos2d::CCLayer,
public CCEditBoxDelegate
{
private:
void editBoxEditingDidBegin(CCEditBox* editBox);
void editBoxEditingDidEnd(CCEditBox* editBox);
void editBoxTextChanged(CCEditBox* editBox, const std::string& text);
void editBoxReturn(CCEditBox* editBox);
};
関連する投稿
One comment
コメントをどうぞ
Additional comments powered by BackType

1accelerate…
…