1

私はCocos2D2.0を使用していますが、現時点での私の問題は、1秒間に特定の回数メソッドをスケジュールすることです。

私が基本的にやろうとしていることのほとんどは次のとおりです。

1. If score is 10 or less, call the method 5 times a second
2. If score is 11 or more, call the method 10 times a second

そのため、この間隔では、それぞれ1/5または1/10を実行しようとしましたが、機能しませんでした。この呼び出しを使用してこれを行う必要がある特定の方法はありますか?

[self schedule:@selector() interval:];

ありがとう!

4

2 に答える 2

2

はい、schedule:interval:うまくいきます。ここでの問題は、1/101/5が 2 つの整数リテラルで定義された分数であるため、C の慣例により整数除算が適用され、結果が 0 になることです。

試してみると[self schedule:@selector(yourMethod) interval:1.0/10]うまくいくはずです。

同じセレクターを再スケジュールすると、メソッドが間隔を自動的に更新することに注意してくださいschedule:。事前にスケジュールを解除する必要はありません。

于 2012-10-18T03:03:46.543 に答える
1

これを使えば目的は達成できると思います

if(score <= 10){
[self schedule:@selector(yourMethod) interval:0.5f];

}else{ [self schedule:@selector(yourMethod) interval:0.10f]; }

于 2012-10-18T10:27:10.147 に答える