0

私はシーン2に置き換えられたシーン1を持っています

[[ccdirector shareddirector]replacescene:scene2]//scene2 replacement

シーン2でいくつかの選択を行った後、シーンを再びシーン1に置き換えています

[[ccdirector shareddirector]replacescene:scene1] //scene1 replacement

しかし、シーン 2 のスケジュールはまだ実行中であり、シーン 2 には何も保持していません。これを手伝ってください!!

4

1 に答える 1

1

これは、シーンがリリースされていない場合にのみ発生する可能性があります。つまり、はい、どういうわけかそれを保持します。オブジェクトを NSArray または NSDictionary に追加すると、それが保持されることに注意してください。

各シーンの-(void) deallocメソッドにブレークポイントを設定するか、NSLog/CCLOG 行を追加して、シーンが適切に割り当て解除されるようにします。

あなたのコードから、実際には scene1 および scene2 オブジェクトを保持していると推測しています。あなたはそれをすべきではありません。代わりに、次のように、変更するたびにシーン クラスの新しいインスタンスを作成します。

[[CCDirector sharedDirector] replacescene:[Scene2 node]];
于 2012-03-24T12:22:33.227 に答える