次のようにタイマー ハンドラを登録できます。
protected Scene onCreateScene() {
Scene myScene = new Scene(); // somewhere you create your scene
float xSeconds = 5.5f; // meaning 5 and a half second
boolean repeat = true; // true to reset the timer after the time passed and execute again
TimerHandler myTimer = new TimerHandler(xSeconds, repeat, new ITimerCallback() {
public void onTimePassed(TimerHandler pTimerHandler) {
methodWithStuffToDo();
}
});
myScene.registerUpdateHandler(myTimer); // here you register the timerhandler to your scene
.... // some other stuff
return myScene;
}
次に、タイマーが終了したときに実行するコードを実装するメソッドをシーンに記述します。
public void methodWithStuffToDo(){ ... }
説明:
TimerHandler はonUpdate
、更新スレッドのメソッドでチェックされます。指定された時間 (ここでは 5.5 秒) に近づくと、onTimePassed メソッドがトリガーされます。UpdateThread は必ずしも最後のミリ秒まで正確であるとは限らないため、closeと言います。これは基本的にコードの提案と同じですが、TimerHandler が実際に更新メソッドを処理し、いつ何を行うかを決定するという違いがあります (これは、独自の UpdateHandler を作成するよりも簡単です)。