現在申請中のアプリに入力フォームを作成しましたので
備忘録として残します。
.hpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include "extensions/cocos-ext.h" //editBoxを使用するために必要 using namespace cocos2d::ui; //いろんなところでいちいち"cocos2d::"って書かないために必要 class HelloWorld : public cocos2d::Layer, public EditBoxDelegate { public: //文字を入力し始めると実行される virtual void editBoxEditingDidBegin(EditBox* editBox); //文字の入力が終わると実行される virtual void editBoxEditingDidEnd(EditBox* editBox); //文字の入力中に実行される virtual void editBoxTextChanged(EditBox* editBox, const std::string& text); //returnを押したら実行される virtual void editBoxReturn(EditBox* editBox); |
.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
//これはどっかに書いてください #define PIXELMPLUS_FONT "fonts/PixelMplus10-Regular.ttf" intFontSize = 72 Size winSize = director->getWinSize(); inputSize = Size(540.0f,140.0f); //メイン //画像はなんとなく用意しましょう。 //Scale9Spriteが画像を引き延ばしをしてくれるので便利 EditBox *_input = EditBox::create(Size(400.0f,72.0f), Scale9Sprite::create("background_name_ipn6p.png")); _input->setAnchorPoint(Point(0.5,0.5)); _input->setPosition(Point(winSize.width / 2, winSize.height /2)); _input->setMaxLength(6); //6文字制限 _input->setFont(PIXELMPLUS_FONT,intFontSize); _input->setFontSize(intFontSize); _input->setFontColor(Color3B::BLACK); _input->setPlaceHolder("山田"); _input->setPlaceholderFont(PIXELMPLUS_FONT, intFontSize); _input->setPlaceholderFontColor(Color3B::BLACK); _input->setContentSize(inputSize); _input->setDelegate(this); this->addChild(_input); //以下も一応書いてますが、使いませんでした。 void StringCheckModalLayer::editBoxEditingDidBegin(EditBox* editBox){ } void StringCheckModalLayer::editBoxEditingDidEnd(EditBox* editBox){ } void StringCheckModalLayer::editBoxTextChanged(EditBox* editBox, const std::string& text){ } void StringCheckModalLayer::editBoxReturn(EditBox* editBox){ } |