我在游戏中使用cocos2d并查看控制器。我想使用以下代码
使用cocos2d场景调用视图控制器PlayAgainViewController* playAgain = [[PlayAgainViewController alloc] initWithNibName:@"PlayAgainViewController" bundle:nil];
[[[CCDirector sharedDirector] openGLView] addSubview:playAgain.view];
它在游戏场景中添加视图控制器视图,但不使用在openGl视图上添加的视图调用另一个视图控制器。
答案 0 :(得分:1)
//如果UR_COCOS2D_VERSION_2_0
AppController *app = (AppController*)[[UIApplication sharedApplication] delegate];
[app.navController presentModalViewController:playAgain animated:YES];
// Cocos2D 1.0,在appDelegate中使用viewController属性。
AppDelegate* app = (AppDelegate*)[[UIApplication sharedApplication] delegate];
[app.viewController presentModalViewController:playAgain animated:YES];
答案 1 :(得分:1)
非常感谢您的回答。:
[[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]];
显示白屏。我认为问题是质地。您可以告诉我如何在调用视图控制器时释放图层中使用的纹理。