2012-03-24 11 views
0

私はSCENE2上のいくつかの選択を行った後、私は再びSCENE1シーンが置き換えられた後もシーンのスケジュールが実行される原因は何ですか?

[[ccdirector shareddirector]replacescene:scene1] //scene1 replacement 
で再びシーン を交換していますSCENE2

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

に置き換えられSCENE1を持っています

しかし、scene2のスケジュールはまだ実行されており、私は本当に012を保持haventシーン2の何か、plsこれで私を助ける!

答えて

1

これは、シーンがリリースされない場合にのみ発生します。つまり、何とかそれを保持しています。 NSArrayまたはNSDictionaryにオブジェクトを追加すると、そのオブジェクトが保持されます。

各シーンの-(void) deallocメソッドでブレークポイントを設定するか、NSLog/CCLOGラインを追加して、シーンが適切に割り当て解除されていることを確認してください。

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

関連する問題