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