2012-12-05 47 views
1

我正在開發iOS中的cocos2d遊戲。 這是應用程序的委託代碼:隱藏遊戲場景後,以前的視圖不可見

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    self.homeViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    self.window.rootViewController = self.homeViewController; 
    [self.window makeKeyAndVisible]; 

在此我提出了ViewControllerrootViewController。 而且,我正在從HomeViewController類提出GameOptionsViewController類。 從GameOptionsViewController我正在調用應用程序委託中的方法來添加遊戲場景。

-(void)addGameScene 

    { 

    CCDirector *director = [CCDirector sharedDirector]; 
    if(! [CCDirector setDirectorType:kCCDirectorTypeDisplayLink]) 
     [CCDirector setDirectorType:kCCDirectorTypeMainLoop]; 
    else { 
     [CCDirector setDirectorType:kCCDirectorTypeDisplayLink]; 
    } 

    // Init the View Controller 
    viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil]; 
    viewController.wantsFullScreenLayout = YES; 
    if(!glView) 
     glView = [[EAGLView alloc] initWithFrame:[window bounds]]; 
    [director setOpenGLView:glView]; 

    [director setOpenGLView:glView]; 
    [director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft]; 
    [viewController setView:glView]; 
    [window setRootViewController:viewController]; 
    [window addSubview: viewController.view]; 
    [window makeKeyAndVisible]; 
    [[CCDirector sharedDirector] runWithScene: [HelloWorldLayer scene]]; 
} 

現在,當我想隱藏的遊戲場景,我使用的代碼:

[[CCDirector sharedDirector] stopAnimation]; 
    [[CCDirector sharedDirector].openGLView setHidden:YES]; 

遊戲場景被隱藏,但以前的觀點,即GameOptionsViewController顯示不出來。 我在做什麼錯?..請諮詢..

回答

1

在這裏您將與RootViewController的的viewController這樣..

[window setRootViewController:viewController]; 

,因爲它只是設置你的GameOptionsViewController類對象作爲一個RootViewController的..

For Ex。

ViewController *homeViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    window.rootViewController = homeViewController; 

我希望這會幫助你...

+0

所以,你想說的是,當我調用該方法來不要再增加他的遊戲場景,還有我做gameOptionsViewController到RootViewController的.. – NiKKi

+0

是bcoz我想在這裏你將RootViewController設置爲一個沒有nib的windows rootViewController,所以只需將rootViewController與你的gameOptionsViewController或homeViewControler交換,就像在第一部分中發佈代碼一樣。 –

+0

我剛剛在設置時用'HomeViewController'替換了'viewController' 'RootViewController'和它的工作..謝謝曼.. – NiKKi