2013-04-07 2 views
2

У меня есть табличный вид, в котором перечислены игровые карты, которые у меня есть. Когда я нажимаю на один, загружаются другие раскадровки, содержащие сцену cocos2d.Сцена перезапуска Cocos2d пуста, но показывает fps

В первый раз, когда я загружаю сцену, все загружается отлично. Однако во второй раз, когда я пытаюсь загрузить сцену (обратно с контроллера навигации и нажав на ту же карту или другую), я получаю пустой экран, показывающий fps, но больше ничего.

вот мой код в mapViewController (который содержит cocos2d)

- (void)setupCocos3D { //called from viewDidLoad 
    [[CCDirector sharedDirector] setOpenGLView:openGLView]; 


    ((ViewInterface*)[ViewInterface sharedViewInterface]).currentScene = [testScene scene]; 


    // Create the customized CC3Layer that supports 3D rendering. 
    CC3Layer* cc3Layer = [HelloWorldLayer node]; 

    // Create the customized 3D scene and attach it to the layer. 
    // Could also just create this inside the customer layer. 


    cc3Layer.cc3Scene = ((ViewInterface*)[ViewInterface sharedViewInterface]).currentScene; 

    // Assign to a generic variable so we can uncomment options below to play with the capabilities 
    CC3ControllableLayer* mainLayer = cc3Layer; 

    mainLayer.contentSize = CGSizeMake(2048, 1320); 

    [CCDirector sharedDirector].animationInterval = (1.0f/kAnimationFrameRate); 
    [CCDirector sharedDirector].displayStats = YES; 
    [[CCDirector sharedDirector] enableRetinaDisplay: YES]; 

    ((ViewInterface*)[ViewInterface sharedViewInterface]).mainLayer = mainLayer; 

    [[CCDirector sharedDirector] runWithScene:((ViewInterface*)[ViewInterface sharedViewInterface]).mainLayer]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 

    [super viewWillDisappear:animated]; 
    [[CCDirector sharedDirector] end]; 


} 

Это действительно странно, что я могу увидеть фпс поэтому кажется, что единственная проблема либо с эпизодом или слоя.

+0

Не устанавливайте glview еще раз, не вызывайте конец директора, то есть инициализатор один раз, и только начинайте/стоханизируйте – LearnCocos2D

+0

@ LearnCocos2D Когда я это делаю, представление просто пустое, без отображения fps. Я также убедился, что код в setupCocos3D вызывается только один раз. – CoachNono

+0

возможно, у вас просто нет сцены? – LearnCocos2D

ответ

0

Сохраняется ли сцена? Может ли быть выпущено и не воссоздано?

+0

Я использую ARC ... – CoachNono

+0

, если вы не воссоздаете сцену, убедитесь, что вы держите на ней сильную ссылку. –

+0

К сожалению, это не решает проблему ... спасибо за ваше время – CoachNono

Смежные вопросы