0

私はこの方法で UIViewController でゲームを開始しています:

navController = [[MyNavigationController alloc] initWithRootViewController:myController];

ゲーム ボタンを押すと、ゲームは次のようにシーンを開始します。

[[CCDirector sharedDirector] runWithScene:gameScene];

さて、終了したいときは、UIViewController (UIKit でメニューを作成し、cocos2d でゲームを作成したため) を開始ビュー コントローラーに置き換えて、必要なアニメーションを実行します。正常に動作します... しかし、明らかに古い実行中シーンはまだメモリに残っており、割り当てが解除されていません。シーンを削除して、最初の実行時と同じようにアプリを作成する必要があります。

replaceScene が機能しませんでした。実行中のシーンを停止し、[CCDirector sharedDirector] から直接、アプリが実行を開始したときと同じようにすべてを作成する必要があります。どうすればよいですか? popScene も機能しません。

4

1 に答える 1

0

アプリケーションから CCDirector を削除できます。

ディレクターは単純な UIViewController なので、呼び出すことができます

[[CCDirector sharedDirector] removeFromParentViewController];

を呼び出した後[[CCDirector sharedDirector] end];、シングルトンインスタンスを削除します

于 2013-04-26T04:28:57.057 に答える