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);
};

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM