これまでに何千人もの人が尋ねてきたことは知っています。しかし、私の質問はかなり異なっています。スケジューリングされたセレクタをスケジュール解除するだけでなく、実際にスケジューリングするセレクタを一時停止する方法があるのだろうかと思います。 50秒ごとに呼び出されるセレクタがあるので、これを知る必要があります。そのセレクタを2秒残してスケジューリングを解除してから再スケジューリングすると、その関数を呼び出すのに98秒かかります。cocos2dスケジュールセレクタを実際に一時停止する方法は?
0
A
答えて
0
あなたは(この場合は自己に、ターゲット)ノードのすべてのセレクタを一時停止し、これを行うことができます:あなたはそれを使用できない場合
[[CCScheduler sharedScheduler] pauseTarget:self];
が、あなたは時間のことは自分を追跡する必要があります。
[self scheduleUpdate];
が次に更新方法を記述します:
-(void) update:(ccTime)delta
{
totalTime += delta;
if (isSelectorXPaused == YES)
{
nextUpdateForSelectorX += delta;
}
else if (totalTime > nextUpdateForSelectorX)
{
nextUpdateForSelectorX = totalTime + 50;
[self performX];
}
}
変数TOTALTIME、isSelectorXPausedとnextUpdateForSelectorX
はインスタンス変数ですその場合には、それだけで更新セレクターをスケジュールするために、おそらく最も簡単です。 Xという名前のセレクタが一時停止している場合、次に実行する必要がある時間が経過するまでに単純に進められます。これにより、セレクタが一時停止している間は本質的にtotalTimeとnextUpdateForSelectorXの差が一定に保たれます。セレクタが一時停止せずに更新が必要な場合、nextUpdateForSelectorXは50秒後に進み、通常のメッセージ送信を使用してセレクタが実行されます。
これは基本的な原則です。これを拡張して複数のセレクタをサポートする必要があります。実際にセレクタを一時停止させたので、変数の初期化は省略されています。それは大きな問題を引き起こしてはいけません。
関連する問題
- 1. Cocos2dでアニメーションスプライトアニメーションを一時停止する方法は?
- 2. 実行からPerformSelectorを一時停止する方法は?
- 3. スレッドを一時停止する方法
- 4. 一時停止ボタンが押されたときにプログラムの実行を一時停止する方法
- 5. Javaでスレッドを停止、一時停止、キャンセルする方法
- 6. メディアスキャナの実行中に一時停止する方法
- 7. cocos2d-android:ゲームの状態を再生/一時停止する方法
- 8. cocos2d-android:一時停止によるEGL表面の解放
- 9. Cocos2dアンドロイドはゲームを一時停止していません
- 10. C#一定時間後にプログラムを停止する方法は?
- 11. スレッドの一時停止/再開方法
- 12. NSTimerを一時停止するには?
- 13. ボタンを押すまでプログラムの実行を一時停止する方法は?
- 14. セロリタスクを一時停止または再開する方法は?
- 15. iOSプログラミングの時間を一時停止する方法
- 16. SKActionsを一時停止する方法はありますか?
- 17. 一時停止ボタンはAVAudioPlayerを一時停止するのではなく停止しています。
- 18. ガードを使用して実行を一時停止する方法は?
- 19. 機能でオーディオを一時停止または一時停止する
- 20. RailsとSelenium:ブラウザでテストの実行を停止/一時停止する方法は?
- 21. シミュレーションを一時停止する方法は?
- 22. WebRequestMethods.Ftp.UploadFileプロセスを一時停止して再開する方法は?
- 23. このJqueryスライダーを一時停止する方法は?
- 24. C#でユーザーコントロールを一時停止する方法は?
- 25. アプリを一時停止する方法は?
- 26. NetBeansでgdbを一時停止する方法は?
- 27. javascriptで実行を一時停止するには?
- 28. コード実行を一時停止するには?
- 29. コーダスライダの停止/一時停止/再生ボタンの実装
- 30. スポットアピで一時停止する方法はありますか?