文本字段和场景转换+ cocos2d的问题

时间:2009-10-16 18:31:11

标签: iphone objective-c sdk cocos2d-iphone

我的文本字段不能与场景转换一起出现问题。基本上我的场景是通过这个电话过渡:

Scene* gs = [[[QuestionsScene alloc] initWithPage:2] autorelease];      
[[Director sharedDirector] replaceScene: [SlideInRTransition transitionWithDuration:0.5 scene: gs]];

然而,在我的初学者中,我有一个名为的文本域:


    [answerBox setTextColor:[UIColor blackColor]];
    [answerBox setTextAlignment:UITextAlignmentLeft];
    [answerBox setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
    [answerBox setClearsOnBeginEditing:YES];
    [answerBox setBorderStyle:UITextBorderStyleRoundedRect];

[answerBox setDelegate:self]; [answerBox setReturnKeyType:UIReturnKeyDone]; [answerBox setAutocapitalizationType:UITextAutocapitalizationTypeWords]; [[[Director sharedDirector] openGLView] addSubview: answerBox];
文本框不跟随转换,它只是坐在下一个场景中。任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以直接将answerBox添加到openGLView,而不是场景。所以当场景发生变化时,answerBox不会受到影响。

如果使用UILabel,则无法将其作为子项添加到CocosNode对象上,因此无法将其添加到场景中。

请考虑使用Cocos2d标签类。使用Label或更快的表兄LabelAtlas

我还没有检查过Cocos2d如何管理它的视图。也许还有另一种选择?你可以试试cocos2d论坛。

答案 1 :(得分:0)

对于这个解决方案,我刚刚在转换时删除了文本框

[nameBox removeFromSuperview];

当它回到现场时重新出现:

[nameBox becomeFirstResponder];

虽然有一个更顺利的过渡。