2012-09-09 56 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)的背景。