cocos2dでゲームを作っています。ゲーム シーンには、UIViewController であるメイン メニューに戻るためのメニュー ボタンがあります。ユーザーがもう一度プレイすることを選択し、同じゲーム シーンがディレクターで実行されるように呼び出されると、ゲーム シーンの上にピンク色の画面が表示されます。
同じシーンをそれ自体に置き換えたためかもしれません。そのため、メイン メニューが呼び出されたときに最初に空のシーンに置き換えました。コード置換シーンは次のとおりです。
if ([[CCDirector sharedDirector] runningScene] == NULL) {
[[CCDirector sharedDirector] runWithScene: [MySceneLayer scene]];
}
else {
[[CCDirector sharedDirector] replaceScene:[MySceneLayer scene]];
}
実行中のシーンがないかどうかを確認し、ゲーム シーンを初めて開始します。シーンが既に実行されている場合 (この場合は空のシーン)、それをゲーム シーンに置き換えます。ゲーム シーンの dealloc とも呼ばれます。これは、古いシーンが適切に破棄されることを意味します。それでも、空のシーンをゲームシーンに置き換えるとピンクの画面になりますが、他の新しいシーンに置き換えると問題はありません.
何が原因で、解決策は何ですか?