2012-09-09 86 views
4

我正在開發一款遊戲。當我們創建一個EaglView和runwithscene時,它第一次正常工作。Cocos2D刷新白屏錯誤

// 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]]; 
} 

我不知道爲什麼,但是當我返回菜單,並嘗試重新加載遊戲,會出現一個白色的屏幕,(我把斷點,並指出遊戲代碼正在制定和初始化),但只有白色屏幕出現。

我很感謝您的幫助。謝謝

+0

解決此問題有沒有什麼好運氣?我遇到了同樣的問題。 – DrummerB

+1

當你說重新加載遊戲時,你的意思是關閉應用程序?如果您關閉應用程序並嘗試在模擬器中重新打開,則會遇到這些問題 – stenger96

回答

0

可能是它的根視圖控制器背景視圖。對於Ex,Window是一個根視圖控制器,它的背景是白色的。你把你的場景和視圖放在那。當你回到你的根視圖控制器是display.so時,設置你的根視圖控制器(Like-Window)的背景。