cocos2dx 编辑框 CCEditBox

.cpp文件

bool HelloWorld::init()

{

    //////////////////////////////

    // 1. super init first

    if ( !CCLayer::init() )

    {

        return false;

    }

    CCSize size = CCDirector::sharedDirector()->getWinSize();

    CCScale9Sprite * sacel9SprY=CCScale9Sprite::create("green_edit.png");

    CCEditBox * box = CCEditBox::create(CCSizeMake(300,60), sacel9SprY);

    

//    设置编辑框内的文字

    box->setText(" ");

//    获取编辑框内的文字

    CCLOG("Text:%s",box->getText());

    box->setFontColor(ccc3(255, 0, 0));

//    当编辑框中没有任何字符的提示

    box->setPlaceHolder("请输入帐号");

    CCLOG("PlaceHolder:%s",box->getPlaceHolder());

//    最大输入文本长度

    box->setMaxLength(5);

    CCLOG("Length:%i", box->getMaxLength());

    //设置输入模式

    box->setInputFlag(kEditBoxInputFlagSensitive);

//    设置return类型

    box->setReturnType(kKeyboardReturnTypeDone);

    box->setPosition(ccp(size.width*0.5, 220));

    addChild(box);

    

    CCScale9Sprite  * scale9SprG =CCScale9Sprite::create("yellow_edit.png");

    CCEditBox * box1 = CCEditBox ::create(CCSizeMake(300, 60), scale9SprG);

    box1->setPosition(ccp(size.width* 0.5, 120));

    box1->setFontColor(ccc3(255, 0, 0));

    box1->setPlaceHolder("输入密码");

    box1->setMaxLength(12);

    box1->setInputFlag(kEditBoxInputFlagPassword);

    box1->setReturnType(kKeyboardReturnTypeGo);

    addChild(box1);

    

    

    

    //         为编辑框设置背景

    CCScale9Sprite * sacel9SprG = CCScale9Sprite::create("green_edit.png");

    //    设置编辑框  将精灵 背景作为对象放到 编辑框里

//    同时设置 背景大小

    CCEditBox* box2 = CCEditBox::create(CCSizeMake(300, 60), sacel9SprG);

    //    设置显示字符串

    box2->setPlaceHolder("Delegate");

    //    设置编辑框的位置

    box2->setPosition(ccp(200,50));

    //    添加

    addChild(box2);

    //接口绑定

    box2->setDelegate(this);

    

    return true;

}

//    开始进入编辑

  void HelloWorld:: editBoxEditingDidBegin(cocos2d::extension::CCEditBox*editBox)

{



}

//结束编辑

  void HelloWorld:: editBoxEditingDidEnd(cocos2d::extension::CCEditBox* editBox)

{



}

//编辑框文本改变

 void HelloWorld:: editBoxTextChanged(cocos2d::extension::CCEditBox* editBox, const std::string& text)

{

    

}

//当触发return后的回调函数

 void HelloWorld:: editBoxReturn(cocos2d::extension::CCEditBox* editBox)

{



}

.h文件

 

 

#include "cocos-ext.h"

using namespace cocos2d::extension;



class HelloWorld : public cocos2d::CCLayer ,public cocos2d::extension::CCEditBoxDelegate

{

public:

    // Method 'init' in cocos2d-x returns bool, instead of 'id' in cocos2d-iphone (an object pointer)

    virtual bool init();



    // there's no 'id' in cpp, so we recommend to return the class instance pointer

    static cocos2d::CCScene* scene();

    

    // a selector callback

    void menuCloseCallback(CCObject* pSender);



    // preprocessor macro for "static create()" constructor ( node() deprecated )

    CREATE_FUNC(HelloWorld);

    

    //开始进入编辑

    virtual void editBoxEditingDidBegin(cocos2d::extension::CCEditBox* editBox);

    //结束编辑

    virtual void editBoxEditingDidEnd(cocos2d::extension::CCEditBox* editBox);

    //编辑框文本改变

    virtual void editBoxTextChanged(cocos2d::extension::CCEditBox* editBox, const std::string& text);

    //当触发return后的回调函数

    virtual void editBoxReturn(cocos2d::extension::CCEditBox* editBox);

};

 

你可能感兴趣的:(cocos2dx)