1

スケジュールされたセレクターがあり、間隔を更新したいのですが、電話してみました

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

しかし、それは私にこのログを与えます:

CCScheduler#scheduleSelector。セレクターはすでにスケジュールされています。更新間隔:0.12から1.00

このようにするのは正しいですか、それとも最初にスケジュールを解除する必要がありますか?

4

1 に答える 1

2

それが正しい方法です。からのコメントCCScheduler.h:

セレクターがすでにスケジュールされている場合は、間隔パラメーターのみが更新され、再スケジュールは行われません。

編集: cocos2dはオープンソースであるため、ちょっと調べCCScheduler.mてみて、ケースがきれいに処理されることを確認することもできます。

if( selector == timer->selector ) {
   CCLOG(@"CCScheduler#scheduleSelector. Selector already scheduled. Updating interval from: %.4f to %.4f", timer->interval, interval);
   timer->interval = interval;
   return;
}
于 2012-07-26T17:42:12.227 に答える