2

私が持っているゲーム マップを一覧表示するテーブル ビューがあります。1 つをクリックすると、cocos2d シーンを含む別のストーリーボードが読み込まれます。

初めてシーンをロードすると、すべてが完全にロードされます。ただし、2 回目にシーンをロードしようとすると (ナビゲーション コントローラーから戻って、同じマップまたは別のマップをクリックします)、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];


}

fps を見ることができるのは本当に奇妙です。したがって、唯一の問題はシーンまたはレイヤーのいずれかにあるようです。

4

1 に答える 1

0

シーンは保存されていますか?リリースされ、再作成されていない可能性はありますか?

于 2013-04-15T17:59:55.960 に答える