4

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

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

谢谢你,乔伊

4

1 回答 1

8

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

[[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的文档。您将看到可以使用的所有可用方法。

于 2012-11-08T21:26:48.343 回答