如何使用cocos2d获取用户输入

时间:2012-11-08 21:03:03

标签: iphone objective-c cocos2d-iphone

我希望用户在我正在建设的游戏开始时输入他/她的名字。

在cocos2d中获取用户输入的最佳方法是什么?

谢谢你, 乔伊

1 个答案:

答案 0 :(得分:8)

Cocos2d没有任何文本输入控件,但您可以轻松地将UIKit控件添加到Cocos2d 2.0中的场景

[[CCDirector sharedDirector] view] addSubview:myTextField];

您可以使用嵌入了文本字段的UIAlertView。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle:@"Done" otherButtonTitles:nil];
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
[alert show];
//[alert release]; If not using ARC

要从UIAlertView接收事件,您需要实现 UIAlertViewDelegate 。在头文件中,将委托协议添加到您的界面

@interface BTMyScene : CCLayer <UIAlertViewDelegate>

然后在您的实现文件中添加您希望接收通知的委托协议中的任何方法。你可能想要这个

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
     UITextField *textField = [alertView textFieldAtIndex:0];
     NSString *name = textField.text;
}

我建议您阅读UIAlertViewUIAlertViewDelegate的文档。您将看到可以使用的所有可用方法。