-1

我使用 cocos2d 菜单为我的游戏创建了一个配置场景,但我希望能够允许用户输入数值。

菜单非常适合多选内容,但我如何添加值框或其他方式让用户输入数值。

4

1 回答 1

2

一种方法是在你的 cocos2d 场景中使用 UIKit 元素(是的,你可以混合它们)。特别是,您可以在游戏层中使用 UITextField:

@interface MyLayer : CCLayer<UITextFieldDelegate> {
    UITextField *myTextField;
}

然后在 MyLayer.m 的 init 函数中:

myTextField = [[UITextField alloc] initWithFrame:CGRectMake(..,..,..,..)];
myTextField.delegate = self; //set the delegate of the textfield to this layer
[myTextField becomeFirstResponder];

// Configure some of your textfield properties as appropriate...
[myTextField.keyboardType = UIKeyboardTypeDefault;
[myTextField.returnKeyType = UIReturnKeyDone;
[myTextField.autocorrectionType = UITextAutocorrectionTypeNo;
[myTextField.autocapitalizationType = UITextAutocapitalizationTypeNone;

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

然后,您可以通过实现以下内容在用户完成后获取文本字段值:

-(BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    NSString* myValue = myTextField.text; // get the value and do something
    return YES;
}
于 2012-10-07T03:47:18.033 回答