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…
…