cocos2d没有自己的键盘输入(当然也不需要有,一个ios的游戏引擎做键盘干嘛。。。。。。),在网上查找资料,发现大家都是代码建立一个UITextField控件,通过激活此控件,来达到显示键盘的目的。总结如下:
1.建立UITextField
为了方便将来关闭键盘,我将此UITextField作为我的menu layer的一个成员。
@interface MainMenuLayer : CCLayer {
IBOutlet UITextField *textField;
}
@property(retain,nonatomic) UITextField *textField;
......
在init处建立UITextField
- (id) init
{
......
//建立UITextField
textField = [[UITextField alloc] initWithFrame:CGRectMake(50, 50, 200, 40)];
textField.center =ccp(240, 50);
[[[CCDirector sharedDirector] openGLView] addSubview:textField];
......
}
2.键盘的显示与隐藏
点击UITextField当然会显示键盘......
可以通过becomeFirstResponser显示键盘
通过在背景区域的点击事件里调用[textField resignFirstResponser]隐藏键盘
3.撤销UITextField记得要removeFromSuperview之后release
总之,键盘都是围绕UITextField在运行。