Iphone COCOS2D:如何从cocos菜单调用nib文件,反之亦然?

Iphone COCOS2D:如何从cocos菜单调用nib文件,反之亦然?,iphone,cocos2d-iphone,Iphone,Cocos2d Iphone,我正在开发一个游戏,其中所有的设置页面、分数页面、帮助页面都是nib格式,并且游戏是cocos2d场景格式(Gamescene.h和m文件)。因此,当从nib按下“开始游戏”按钮时,我需要从nib文件调用的游戏场景。当比赛结束时,我需要打电话给cocos现场的score.nib。但我不知道怎么做 有人能给我一个简单的解决办法吗?提前谢谢 尊敬的Benzamin。在我创建的应用程序中,我通常会将cocos2d控制器附加到一个视图,即 [[Director shareddirector] attac

我正在开发一个游戏,其中所有的设置页面、分数页面、帮助页面都是nib格式,并且游戏是cocos2d场景格式(Gamescene.h和m文件)。因此,当从nib按下“开始游戏”按钮时,我需要从nib文件调用的游戏场景。当比赛结束时,我需要打电话给cocos现场的score.nib。但我不知道怎么做

有人能给我一个简单的解决办法吗?提前谢谢


尊敬的Benzamin。

在我创建的应用程序中,我通常会将cocos2d控制器附加到一个视图,即

[[Director shareddirector] attachInView:myView];
这意味着我可以覆盖从它前面的笔尖加载的其他视图。我可以做一些像

在YourAppDelegate.h中

GameViewController *gameViewController;
ScoresViewcontroller *scoresViewController;

....

@property (nonatomic, retain) GameViewController *gameViewController;
@property (nonatomic, retain) ScoresViewController *scoresViewController;
在应用程序IDFinishLaunching中的YourAppDelegate.m中:

// Create the cocos2d view
gameViewController = [[GameViewController alloc] init];
[window addSubview:gameViewController.view];

// Create the high scores view and controller
scoresViewController = [[ScoresViewController alloc] initwithNibName:@"scoresNib"
                                                              bundle:nil];
[window addSubview:scoresViewController.view];
最后,在GameViewController中

- (void) loadView {
    self.view = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,480)];

    [[Director sharedDirector] attachInView:self.view];

    // Now do your cocos2d scene stuff to start everything off e.g. create a scene
    // and call runWithScene: on the sharedDirector
}
在这里,cocos2d代码在后台运行,分数视图覆盖在前面(或者隐藏,直到需要它为止)

然后,当您的游戏需要对高分进行一些操作时,GameViewController可以从应用程序代理处获取高分ViewController,即

YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.scoresViewController.view.hidden = NO;
萨姆

PS的答案也可能对您有用:)