Iphone 弹出并推送视图后Cocos2D未更新

Iphone 弹出并推送视图后Cocos2D未更新,iphone,uiviewcontroller,cocos2d-iphone,Iphone,Uiviewcontroller,Cocos2d Iphone,我正在写一个iPhone游戏,它有很多关卡。在游戏过程中,用户可以使用菜单退出游戏并返回关卡选择屏幕。为此,我将UINavigationController与一系列UIViewController一起使用。当玩家选择退出时,将从堆栈中弹出游戏视图,并显示关卡选择菜单。游戏第一次运行良好,但如果玩家退出该关卡,然后尝试玩相同或其他关卡,则会导致问题 游戏视图控制器(显示cocos2d场景)是游戏控制器单例的成员变量。当用户单击“再次播放”时,此游戏控制器将重置游戏状态。cocos2d层被清除,游戏

我正在写一个iPhone游戏,它有很多关卡。在游戏过程中,用户可以使用菜单退出游戏并返回关卡选择屏幕。为此,我将UINavigationController与一系列UIViewController一起使用。当玩家选择退出时,将从堆栈中弹出游戏视图,并显示关卡选择菜单。游戏第一次运行良好,但如果玩家退出该关卡,然后尝试玩相同或其他关卡,则会导致问题

游戏视图控制器(显示cocos2d场景)是游戏控制器单例的成员变量。当用户单击“再次播放”时,此游戏控制器将重置游戏状态。cocos2d层被清除,游戏被重置为开始状态。在此之后,游戏视图将再次推送到堆栈上。但是这次cocos2d不会更新。屏幕只是上一个游戏冻结的最后一帧

似乎出于某种原因,当弹出cocos2d视图并按下时,它停止更新,即使我使用:

[[CCDirector sharedDirector] resume];

有没有人遇到过这个问题,以及如何避免这个问题?

我会这样尝试:

[self resumeSchedulerAndActions];
    for(CCSprite *sprite in [self children]) {
        [[CCActionManager sharedManager] resumeTarget:sprite];
    }

当游戏视图控制器弹出时,将调用
[[CCDirector sharedDirector]stopAnimation]
,因此在再次将游戏视图控制器推到堆栈上后,必须调用
[[CCDirector sharedDirector]startAnimation]


希望这能有所帮助。

我一直在想为什么cocos2d glview在单视图应用程序中可以正常工作,但在导航控制器的视图中却不行。这把它修好了。谢谢