2011-08-12 12 views

答えて

1

あなたはスケジュールセレクタがmethodAの場合:

[self schedule:@selector(methodA:) interval:1/60]; 

、あなたが探しているものを行うための簡単な方法は次のとおりです。

- (void) methodA:(ccTime)adelta { 
    static int counter = 10; 
    if (--counter >= 0) { 
     //-- do your processing 
    } else { 
     counter = 10; //-- this in case you want to reschedule the method at some later point 
     [self unschedule:@selector(methodA:)]; 
    } 
} 

あなたがそれを好む場合は、中IVARを使用することができますあなたのクラスは繰り返しの数を追跡します。

+0

ありがとうございます!唯一のことは、私の敵がスプライトシート内にいるようにこれを実装するにはどうすればいいですか?私はビルド時に何の問題も出ませんが、シーンが開いてから3秒(私が設定した間隔)で走るとフリーズします。私は戻るボタンをクリックしたり、クラッシュの結果を見ることはできません。終了しないためです。 – Joethemonkey101

+0

おそらく、スプライトシートをロードした後にのみメソッドをスケジュールする必要があります。デバッガの下で実行すると、クラッシュしたステートメントが表示される可能性があります。 – sergio

+0

セルジオ、それは心配です。画面(シミュレータ)はフリーズしますが、xcodeにはまだ実行中であることが示されます。スプライトシートを読み込んだ後、どのようにスケジュールするのですか?私は敵が歩いているので、私はこれをやっていると思うが、3秒後に凍結する。 – Joethemonkey101

関連する問題