微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cocos2d-x_CCEditBox(编辑框类)介绍

//
// HelloWorldScene.h
//

#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__

#include "cocos2d.h"
#include "cocos-ext.h"
USING_NS_CC;
USING_NS_CC_EXT;

class HelloWorld : public cocos2d::cclayer,public extension::CCEditBoxDelegate  // extension::CCEditBoxDelegate
{
public:
    virtual bool init();
    static cocos2d::CCScene* scene();

    CREATE_FUNC(HelloWorld);

    // 必须重写和定义CCEditBoxDelegate的协议,要不然CREATE_FUNC宏会报错
    virtual void editBoxEditingDidBegin(CCEditBox* editBox);
    virtual void editBoxEditingDidEnd(CCEditBox* editBox);
    virtual void editBoxTextChanged(CCEditBox* editBox,const std::string& text);
    virtual void editBoxReturn(CCEditBox* editBox);
};

#endif

//
// HelloWorldScene.cpp
//

#include "HelloWorldScene.h"

USING_NS_CC;

CCScene* HelloWorld::scene()
{
    CCScene *scene = CCScene::create();
    HelloWorld *layer = HelloWorld::create();
    scene->addChild(layer);
    
    return scene;
}

bool HelloWorld::init()
{
    if ( !cclayer::init() )
    {
        return false;
    }
    
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    // 账号输入框
    CCScale9Sprite *scale9Spr = CCScale9Sprite::create("yellow_edit.png");
    CCEditBox *userBox = CCEditBox::create(CCSizeMake(300,60),scale9Spr);
    userBox->setPosition(ccp(winSize.width*0.5,220));
    userBox->setText("");
    userBox->setFontColor(ccc3(255,0));
    userBox->setPlaceHolder("请输入账号");
    userBox->setMaxLength(10);
    userBox->setInputFlag(kEditBoxInputFlagSensitive);
    userBox->setInputMode(kEditBoxInputModePhoneNumber);
    userBox->setReturnType(kKeyboardReturnTypeDone);
    userBox->setDelegate(this);
    this->addChild(userBox);
    
    // 密码输入框
    CCScale9Sprite *scale9SprG = CCScale9Sprite::create("green_edit.png");
    CCEditBox *pwdBox = CCEditBox::create(CCSizeMake(300,scale9SprG);
    pwdBox->setPosition(ccp(winSize.width*0.5,120));
    pwdBox->setText("");
    pwdBox->setFontColor(ccc3(255,0));
    pwdBox->setPlaceHolder("请输入密码");
    pwdBox->setMaxLength(12);
    pwdBox->setInputFlag(kEditBoxInputFlagPassword);
    pwdBox->setInputMode(kEditBoxInputModeAny);
    pwdBox->setReturnType(kKeyboardReturnTypeGo);
    pwdBox->setDelegate(this);
    this->addChild(pwdBox);

    return true;
}

void HelloWorld::editBoxEditingDidBegin(cocos2d::extension::CCEditBox *editBox)
{
    cclOG("开始编辑");
}

void HelloWorld::editBoxEditingDidEnd(cocos2d::extension::CCEditBox *editBox)
{
    cclOG("结束编辑");
}

void HelloWorld::editBoxTextChanged(cocos2d::extension::CCEditBox *editBox,const std::string &text)
{
    cclOG("文本改变:%s",text.c_str());
}

void HelloWorld::editBoxReturn(cocos2d::extension::CCEditBox *editBox)
{
    cclOG("触发Return按钮");
}

原文地址:https://www.jb51.cc/cocos2dx/346775.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐