在游戏中,有时需要用户输入用户名、密码等,这时需要调用虚拟键盘来实现。在Cocos2D-x中,通过使用继承输入法代理类CCIMEDelegate和其字体标签类CCLabelTTF的子类输入框类CCTextFieldTTF来实现虚拟键盘输入功能。继承关系如下:
CCTextFieldTTF->CCLabelTTF、CCIMEDelegate。
可以看出CCTextFieldTTF类分别继承自CCIMEDelegate类和CCLabel类,这就决定了它既是标签化的输入框,又是可输入字符的标签。
1、CCIMEDelegate类的主要成员函数如下:
attachWithIME:打开键盘并允许输入。
detachWithIME:关闭键盘并停止输入。
2、CCTextFieldTTF类的主要成员函数如下:
attachWithIME:打开键盘并允许输入。
detachWithIME:关闭键盘并停止输入。
initWithPlaceHolder:初始化字体等信息。
getCharCount:获得个数。
setString:设置要显示的文字。
getString:获得显示的文字。
getColorSpaceHolder:获得动画显示字体颜色。
setColorSpaceHolder:设置动画显示字体颜色。
setPlaceHolder:设置默认字符。
getPlaceHolder:获得默认字符。
CCTextFieldTTF类使用示例如下:
1 //获得用户输入首先要在场景中加入一个继承自CCIMEDelegate的可现实的节点(CCTextFieldTTF类的实例),当这个输入框被触摸时,调用onClickTrackNode函数开启输入框。
2 void TextFieldTTFTest::onClickTrackNode(bool bClicked)
3 {
4 if(bClicked)
5 {
6 //CCTextFieldTTF类的实例
7 pTextField->attachWithIME();
8 }
9 else
10 {
11 pTextField->detachWithIME();
12 }
13 }