我使用 cocos2d 菜单为我的游戏创建了一个配置场景,但我希望能够允许用户输入数值。
菜单非常适合多选内容,但我如何添加值框或其他方式让用户输入数值。
我使用 cocos2d 菜单为我的游戏创建了一个配置场景,但我希望能够允许用户输入数值。
菜单非常适合多选内容,但我如何添加值框或其他方式让用户输入数值。
一种方法是在你的 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;
}