如何使用cocos2d获取用户输入

Joe*_*oey 4 iphone objective-c cocos2d-iphone

我希望提示用户在我正在构建的游戏开始时输入他/她的名字.

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

谢谢你,乔伊

Ben*_*ove 8

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

[[CCDirector sharedDirector] view] addSubview:myTextField];
Run Code Online (Sandbox Code Playgroud)

您可以使用嵌入了文本字段的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
Run Code Online (Sandbox Code Playgroud)

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

@interface BTMyScene : CCLayer <UIAlertViewDelegate>
Run Code Online (Sandbox Code Playgroud)

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

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

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