4

ゲームを開発しています。EaglView を作成して runwithscene を実行すると、初めて正常に動作します。

// TAKE THE SHARED DIRECTOR
director = [CCDirector sharedDirector];
// IF THIS IS FIRST OPENING TIME FOR GAME
if (director.openGLView == nil)
{
    // CREATE THE GAME
    if ([CCDirector setDirectorType:kCCDirectorTypeDisplayLink] == NO)
    {
         [CCDirector setDirectorType:kCCDirectorTypeDefault];
    }
    [director setAnimationInterval:1.0/60];
    NSArray* subviews = self.view.subviews;
    for (int i = 0; i < [subviews count]; i++)
    {
        UIView* subview = [subviews objectAtIndex:i];
        if ([subview isKindOfClass:[EAGLView class]])
        {
           [director setOpenGLView:(EAGLView*)subview];
           [director runWithScene:[HelloWorldLayer scene]];
           break;
        }
    }
}

// IF USER WANTS TO OPEN THIS LEVEL SECOND TIME (OR MORE THAN ONE) 
else
{
      [director startAnimation];
      [director replaceScene:[HelloWorldLayer scene]];
}

理由はわかりませんが、メニューに戻ってゲームをリロードしようとすると、白い画面が表示されます (ブレークポイントを設定し、ゲーム コードが動作して初期化されていることを確認しました)。ただし、白い画面しか表示されません。

助けてくれてありがとう。ありがとう

4

1 に答える 1

0

ルート ビュー コントローラーの背景ビューである可能性があります。たとえば、ウィンドウはルート ビュー コントローラーであり、背景は白です。その上にシーンとビューを配置します。戻ると、ルート ビュー コントローラーが表示されます。そのため、ルート ビュー コントローラー (Like-Window) の背景を設定します。

于 2014-02-13T07:10:50.143 に答える