2012-10-03 115 views
2

我在我的遊戲中使用cocos2d和視圖控制器。我想打電話給使用cocos2d的場景中使用下面的代碼在遊戲場景cocos2d與視圖控制器

PlayAgainViewController* playAgain = [[PlayAgainViewController alloc] initWithNibName:@"PlayAgainViewController" bundle:nil]; 
    [[[CCDirector sharedDirector] openGLView] addSubview:playAgain.view]; 

其添加視圖控制器的看法,但沒有要求用另外一個視圖控制器中加入了新的OpenGL視圖中的視圖控制器。

回答

1

//如果UR_COCOS2D_VERSION_2_0

AppController *app = (AppController*)[[UIApplication sharedApplication] delegate];  
    [app.navController presentModalViewController:playAgain animated:YES]; 

//的Cocos2D 1.0,使用的viewController屬性中的appDelegate。

AppDelegate* app = (AppDelegate*)[[UIApplication sharedApplication] delegate];    
[app.viewController presentModalViewController:playAgain animated:YES]; 
+0

非常感謝您的answer.as:它幫助我很多並解決了我的問題。 但現在我面臨一個新問題,當我從cocos2d層調用視圖控制器使用你的答案它的工作優秀:),但是當我想調用另一個視圖控制器調用EAGLView – user1141020

+0

@ user1141020,一旦你完成playAgain視圖控制器調用[app.navController dismissModalViewControllerAnimated:YES] ...就是這樣。 – Guru

+0

但這不是調用opengl視圖的初始化函數 – user1141020

1

非常感謝您的answer.as:

[[CCDirector sharedDirector] pause]; 
    PlayAgainViewController* playAgain = [[PlayAgainViewController alloc] initWithNibName:@"PlayAgainViewController" bundle:nil]; 
    AppDelegate* app = (AppDelegate*)[[UIApplication sharedApplication] delegate]; 
    [app.navigationController pushViewController:playAgain animated:YES]; 

它幫助了我很多,解決了我的問題。 但現在我面臨一個新問題,當我從cocos2d層調用視圖控制器使用你的答案它的工作優秀:),但是當我想調用另一個視圖控制器調用EAGLView usig以下代碼:

if([[CCDirector sharedDirector] isPaused]) 
    [[CCDirector sharedDirector] replaceScene:[Game scene]]; 
else 
    [[CCDirector sharedDirector] runWithScene:[Game scene]]; 
if([[CCDirector sharedDirector] isPaused]) 
    [[CCDirector sharedDirector] replaceScene:[Game scene]]; 
else 
    [[CCDirector sharedDirector] runWithScene:[Game scene]]; 

它顯示白色屏幕。我認爲問題在於質感。你可以告訴我如何在調用視圖控制器時釋放圖層中使用的紋理。

+0

其問題或答案? – Guru

+0

爲什麼你在cocos2D中使用多個GLView?這真的有必要嗎?如果是,那麼你可以在cocos2D sdk中引用線程樣本,他們在加載時使用了一個更多的glView來顯示圖紙。 – Guru

+0

其我的問題。我正在以下列方式跟隨遊戲流程 主遊戲(cocos2d圖層) - >遊戲結束(視圖控制器有一個按鈕用於再次玩和其他許多操作) - >主遊戲(cocos 2d) 所以我不能再次玩遊戲。 – user1141020