エンジニアリングにはほど遠い

iPhoneアプリとかサイトとかをつくっていくブログです。

Cocos2dで、CCTransitionFadeを作ったけどそのまま使わないとバグる?

シーンの遷移でCCTransitionを使ったときに、やっぱり使うのやめようって言う事でreplaceSceneのところで使わないで、インスタンスを放置してると変な挙動になりました。

NextSceneクラスのシーンに遷移したいとして、まず次のようにTransition利用で書きました。

CCTransitionFade *tran = [CCTransitionFade transitionWithDuration:0.5F scene:[NextScene scene]];
[[CCDirector sharedDirector] replaceScene:tran];

これだと普通にフェードチェンジします。で、やっぱりTransitionやめよう言う事で↓のように2行目のreplaceSceneのところだけ書き換えます。

CCTransitionFade *tran = [CCTransitionFade transitionWithDuration:0.5F scene:[NextScene scene]];
[[CCDirector sharedDirector] replaceScene:[NextScene scene]];

すると、遷移はするんですが、遷移先で画面のタッチ判定が取れなかったりしました。上の行をコメントアウトすると直るので、やはりこのインスタンスが生成されている事と関係があるっぽいです。

気づいたので書いてみました。まあインスタンス放置はよくないということでしょうか。