CCTextFieldTTF输入框
2013-04-08 16:32
239 查看
新建工程,testInput
修改HelloWorldScene.h
#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__
#include "cocos2d.h"
using namespace
cocos2d;
class HelloWorld :public
cocos2d::CCLayer,publiccocos2d::CCTextFieldDelegate
{
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();
//重写CCTextFieldDelegate的回调函数
//当用户启动虚拟键盘时的回调函数
virtual
bool onTextFieldAttachWithIME(CCTextFieldTTF *pSender);
//当用户关闭虚拟键盘时的回调函数
virtual
bool onTextFieldDetachWithIME(CCTextFieldTTF *pSender);
//当用户进行输入时的回调函数
virtual
bool onTextFieldInsertText(CCTextFieldTTF *pSender,constchar *text,int nLen);
//当用户删除文字时的回调函数
virtual
bool onTextFieldDeleteBackward(CCTextFieldTTF *pSender,constchar *delText,int nLen);
// preprocessor macro for "static create()" constructor ( node() deprecated )
CREATE_FUNC(HelloWorld);
};
#endif // __HELLOWORLD_SCENE_H__
修改HelloWorldScene.cpp
#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
using namespace
cocos2d;
using namespace
CocosDenshion;
CCScene* HelloWorld::scene()
{
// 'scene' is an autorelease object
CCScene *scene =
CCScene::create();
// 'layer' is an autorelease object
HelloWorld *layer =HelloWorld::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return
false;
}
/////////////////////////////
// 2. add a menu item with "X" image, which is clicked to quit the program
// you may modify it.
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,constchar
*text,int nLen)
{
CCLOG("输入字符...");
return
false;
//return true:不会输入进字符
}
//当用户删除文字时的回调函数
bool HelloWorld::onTextFieldDeleteBackward(CCTextFieldTTF *pSender,constchar
*delText,int nLen)
{
CCLOG("删除字符");
return
false;
//return true:不删除
}
源码地址:http://download.csdn.net/detail/cloud95/5234145
修改HelloWorldScene.h
#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__
#include "cocos2d.h"
using namespace
cocos2d;
class HelloWorld :public
cocos2d::CCLayer,publiccocos2d::CCTextFieldDelegate
{
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();
//重写CCTextFieldDelegate的回调函数
//当用户启动虚拟键盘时的回调函数
virtual
bool onTextFieldAttachWithIME(CCTextFieldTTF *pSender);
//当用户关闭虚拟键盘时的回调函数
virtual
bool onTextFieldDetachWithIME(CCTextFieldTTF *pSender);
//当用户进行输入时的回调函数
virtual
bool onTextFieldInsertText(CCTextFieldTTF *pSender,constchar *text,int nLen);
//当用户删除文字时的回调函数
virtual
bool onTextFieldDeleteBackward(CCTextFieldTTF *pSender,constchar *delText,int nLen);
// preprocessor macro for "static create()" constructor ( node() deprecated )
CREATE_FUNC(HelloWorld);
};
#endif // __HELLOWORLD_SCENE_H__
修改HelloWorldScene.cpp
#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
using namespace
cocos2d;
using namespace
CocosDenshion;
CCScene* HelloWorld::scene()
{
// 'scene' is an autorelease object
CCScene *scene =
CCScene::create();
// 'layer' is an autorelease object
HelloWorld *layer =HelloWorld::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return
false;
}
/////////////////////////////
// 2. add a menu item with "X" image, which is clicked to quit the program
// you may modify it.
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,constchar
*text,int nLen)
{
CCLOG("输入字符...");
return
false;
//return true:不会输入进字符
}
//当用户删除文字时的回调函数
bool HelloWorld::onTextFieldDeleteBackward(CCTextFieldTTF *pSender,constchar
*delText,int nLen)
{
CCLOG("删除字符");
return
false;
//return true:不删除
}
源码地址:http://download.csdn.net/detail/cloud95/5234145
相关文章推荐
- 5. coccos2d-x CCTextFieldTTF 输入框
- cocos2d-x CCTextFieldTTF 输入框
- Cocos2d-x_CCTextFieldTTF输入框
- CCTextFieldTTF输入框
- CCTextFieldTTF 带光标的输入框
- 输入框之CCTextFieldTTF
- CCTextFieldTTF输入框
- cocos2dx CCTextFieldTTF
- CCTextFieldTTF的使用和再封装
- CCTextFieldTTF 用法
- cocos2dx CCTextFieldTTF
- CCTextFieldTTF ios按return 隐藏键盘
- coos2d 类详细之 CCTextFieldTTF
- Cocos2d-X游戏开发之CCTextFieldTTF(虚拟键盘输入)(十)
- 和屌丝一起学cocos2dx-CCTextFieldTTF
- cocos2d-x学习笔记3:CCTextFieldTTF的使用和再封装
- cocos2dx基础篇(14)——编辑框之一CCTextFieldTTF
- 我的Cocos2d-x学习笔记(二十二)CCTextFieldTTF (文字输入)、CCTextFieldDelegate(输入通知事件)
- 关于CCTextFieldTTF的几点注意事项
- cocos2dx-CCTextFieldTTF