1、CCTextFieldTTF创建与使用
CCTextFieldTTF::create(const char* placeholder,const char* fontName,float fontSize)
参数1:默认显示的文本
参数2:字体名
参数3:字体大小
在CCTextFieldTTF中除了getString与setString两个常用函数外还有两个:
1)attachWithIME():此函数是输入开关,当CCTextFieldTTF函数被调用后,Cocos2d-x默认会被调出当前设备的虚拟键盘
2)detachWithIME():关闭虚拟键盘
2、CCTextFieldTTFDelegate接口
当调用CCTextFieldTTF的attachWithIME函数后,用户即可进行文本输入,但是用户再输入过程中,如果需要获取输入的文本信息、文本长度,需要对输入文本进行监测。这就需要CCTextFieldDelegate这个接口来实现。具体步骤如下:
1)当前类使用CCTextFieldDelegate接口代码如下:
class HelloWorld:public cocos2d::CCLayer,public cocos2s::CCTextFieldDelegate
{
……
}
2)重写回调函数,代码如下:
//当用户启动虚拟键盘时的回调函数
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)
3)在cpp文件中实现重写的回调函数
4)调用CCTextFieldTTF的setDelegate(CCTextFieldDelegate* pDelegate)函数绑定接口