シーン間の移行をどのように実装するのが最善の方法なのか疑問に思っています。
私のアプリにはccscene1
inclass1
とccscene2
in がありclass2
ます。
シーン 1 からシーン 2 への移行を行っているとき、シーン 1 の init メソッドに多くの割り当てられたインスタンスがあり、シーンをライブするたびに解放/割り当てたくありません。割り当てられたすべてのインスタンス (およびそれらのいくつかはサーバーの tcp 接続) が 2 から戻ったときに再度割り当てられないように、シーン 1 をどのように実装できますか?
1つの解決策: グローバルフラグを設定し、デリゲートから最初の起動時にそれを1に設定し、これがシーン1のinitメソッドでの最初の起動であるかどうかを確認し、オブジェクトを割り当てます。
シーン 1 を離れた後、このオブジェクトは戻っても有効なままですか? (私はそれらを解放していないとしましょう)?
主な目標は、遷移ごとにサーバーに接続せず、シーン 1 のデリゲート インスタンスを有効に保つことです (ソリューション 1 を使用している場合)。
-(id) init
{
if( (self=[super init]) )
{
socketInstance=[[SocketConnector alloc]init]; //only once !
socketInstance.delegate=self;
//later on i have transition :
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:0.7f scene:[AdressBookScene scene]]];
これを行うための「専門的な」方法を探しています。