ブロック崩しゲームを作っています。ゲーム内で戻るボタンを押すと、ゲームがメイン メニューに戻るようにコーディングしました。そしてスタートボタンを押すとゲームを作り直したくなります。しかし、timer_StartCompletely が渡された後、私のボールは動きません。つまり、timer_ball が機能していません。onBackPressed に次のコードがあります。
@Override
public void onBackPressed()
{
if(status == INGAME) {
scene.detachChildren();
moveBall = false;
status = MENU;
ballX = (kamera.getWidth()/2)-(32/2);
ballY = (kamera.getHeight()/2)-(32/2);
ballSpeed = 3.5f;
cx = (kamera.getWidth()/2)-(cubukTex.getWidth()/2);
cy = kamera.getHeight()-25;
this.mEngine.unregisterUpdateHandler(timer_ball);
this.mEngine.unregisterUpdateHandler(timer_club);
timer_ball.reset();
musicBackground.play();
}
}
私のタイマー宣言:
timer_StartCompletely = new TimerHandler(0.5f, new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
mEngine.unregisterUpdateHandler(pTimerHandler);
mEngine.registerUpdateHandler(timer_ball);
}
});
私の timer_ball では、ボールの動きをコーディングしました (timer_ball が呼び出された場合、ボールは確実に動く必要があります)。
タッチボタンを制御し、timer_StartCompletely を登録するタッチイベントもあります。