2

ゲームで cocos2d とビュー コントローラーを使用しています。次のコードを使用して、cocos2d シーンを使用してビュー コントローラーを呼び出したい

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

ゲームシーンにView Controllerビューを追加しますが、openGlビューに追加されたビューを使用して別のView Controllerを呼び出しません。

4

2 に答える 2

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を呼び出している別のビューコントローラーを呼び出したいとき:

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

白い画面が表示されます。問題は質感だと思います。ビュー コントローラーを呼び出しているときに、レイヤーで使用されているテクスチャを解放する方法を教えてください。

于 2012-10-04T10:02:27.767 に答える
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];
于 2012-10-04T08:31:51.733 に答える