现在的位置: 首页 > 综合 > 正文

cocosd-x教程4 CCTextFieldTTF的使用

2018年04月22日 ⁄ 综合 ⁄ 共 1942字 ⁄ 字号 评论关闭

HelloWorldScene.h

#ifndef __HELLOWORLD_SCENE_H__

#define __HELLOWORLD_SCENE_H__

#include "cocos2d.h"

using namespace
cocos2d;

class HelloWorld :
public
cocos2d::CCLayer,
public cocos2d::CCTextFieldDelegate

{

public:

   
virtual bool init();  

   
static cocos2d::CCScene* scene();

    

    CREATE_FUNC(HelloWorld);

    

    //重写CCTextFieldDelegate的回调函数

    //当用户启动虚拟键盘时的回调函数

   
virtual bool onTextFieldAttachWithIME(CCTextFieldTTF * pSender);

    //当用户关闭虚拟键盘时的回调函数

   
virtual bool onTextFieldDetachWithIME(CCTextFieldTTF * pSender);

    //当用户进行输入时的回调函数

   
virtual bool onTextFieldInsertText(CCTextFieldTTF * pSender,
const char * text,
int nLen);

    //当用户删除文字时的回调函数

   
virtual bool onTextFieldDeleteBackward(CCTextFieldTTF * pSender,
const char * delText,
int nLen);

    

};

#endif // __HELLOWORLD_SCENE_H__

HelloWorldScene.cpp

#include "HelloWorldScene.h"

#include "SimpleAudioEngine.h"

using namespace cocos2d;

using
namespace CocosDenshion;

using namespace std;

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 size = CCDirector::sharedDirector()->getWinSize();

    CCTextFieldTTF* textField = CCTextFieldTTF::textFieldWithPlaceHolder("点击输入...",
"Helvetica", 24);

    textField->setPosition(ccp(size.width*0.5,size.height*0.7));

    addChild(textField);

    

    //绑定接口

    textField->setDelegate(this);

    //开启输入

    textField->attachWithIME();

    //关闭输入

//    textField->detachWithIME();

    return
true;

}

bool HelloWorld::onTextFieldAttachWithIME(CCTextFieldTTF * pSender){

    CCLOG("启动输入");

    return
false;

    //return true:不启动

}

bool HelloWorld::onTextFieldDetachWithIME(CCTextFieldTTF * pSender){

    CCLOG("关闭输入");

    return
false;

    //return true:不关闭

}

bool HelloWorld::onTextFieldInsertText(CCTextFieldTTF * pSender,
const char * text,
int nLen){

    CCLOG("输入字符...");

    return
false;

    //return true:不会输入进字符

}

bool HelloWorld::onTextFieldDeleteBackward(CCTextFieldTTF * pSender,
const char * delText,
int nLen){

    CCLOG("删除字符");

    return
false;

    //return true:不删除


抱歉!评论已关闭.