에디트박스 Delegate
Delegate : 특정 객체가 특정 동작을 하면 미리 지정된 메서드가 호출되는 것
h++)
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 | #ifndef test390_hpp #define test390_hpp #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC; USING_NS_CC_EXT; class Test390 : public Layer, public EditBoxDelegate { public: virtual bool init(); static Scene* createScene(); CREATE_FUNC(Test390); protected: virtual void editBoxEditingDidBegin(EditBox *editBox); virtual void editBoxEditingDidEnd(EditBox *editBox); virtual void editBoxTextChanged(EditBox *editBox, const std::string &text); virtual void editBoxReturn(EditBox *editBox); }; #endif | cs |
c++)
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include "test390.hpp" USING_NS_CC; Scene* Test390::createScene() { auto scene = Scene::create(); auto layer = Test390::create(); scene->addChild(layer); return scene; } bool Test390::init() { if ( !Layer::init()) { return false; } auto editBox = EditBox::create(Size(400, 50), Scale9Sprite::create("green_edit.png")); editBox->setPosition(Point(240, 160)); editBox->setPlaceHolder("NAME : "); editBox->setMaxLength(8); this->addChild(editBox); //델리게이트 설정추가 editBox->setDelegate(this); return true; } //키보드를 호출시 void Test390::editBoxEditingDidBegin(EditBox *editBox){ CCLOG("EditingDidBegin"); } //키보드가 사라질때 void Test390::editBoxEditingDidEnd(EditBox *editBox){ CCLOG("EditingDidEnd"); } //글자를 입력할때마다 void Test390::editBoxTextChanged(EditBox *editBox, const std::string &text){ CCLOG("TextChanged"); } //엔터키 입력시 void Test390::editBoxReturn(EditBox *editBox){ CCLOG("Return"); } | cs |
결과
1 2 3 4 5 6 7 | EditingDidBegin TextChanged TextChanged TextChanged TextChanged EditingDidEnd Return | cs |
'IT > - 프로그래밍' 카테고리의 다른 글
Cocos HTTP 통신 (0) | 2017.03.31 |
---|---|
IOS Hello World! 출력 (0) | 2017.03.30 |
Cocos EditBox 메서드 (0) | 2017.03.28 |
Cocos 에디트박스 생성하기 (0) | 2017.03.27 |
안드로이드 ANT 설치 (0) | 2017.03.26 |