30 秒から 0 秒までカウントダウンする可視タイマーを使用する予定です。動くスプライト (数値を含む) がタッチされたが、要求された数値と一致しない (ウィンドウ/通知に表示される) たびに、現在の残り時間が差し引かれるため、このタイマーはゲーム アプリケーションでのスコアリングの基礎となります。 5 秒ずつ (-5)。ただし、一致する数字を含むスプライトに触れると、タイマーが停止し、ゲームが再開します (または次のレベルに移動します)。
クラスtouchEvent
内のコードは次のとおりです。GameView
@Override
public boolean onTouchEvent(MotionEvent event) {
if (System.currentTimeMillis() - lastClick > 300) {
lastClick = System.currentTimeMillis();
float x = event.getX();
float y = event.getY();
synchronized (getHolder()) {
for (int i = sprites.size() - 1; i >= 0; i--) {
Sprite sprite = sprites.get(i);
if (sprite.wasPopped(x, y)) {
sprites.remove(sprite);
spritePopped.add(new TempSprite(temps, this, x, y, pop));
break;
}
}
}
}
return true;
}
移動するスプライトの周囲の領域がタッチされるたびに ( sprite.wasPopped
)、そのスプライトは画面から (および割り当てられたリストから) 削除され、イメージ ( spritePopped
) が続いてタッチされた場所を示します (効果を追加するため)。タイマー用に別のクラスを作成し、それを自分で利用するにはどうすればよいGameView
ですか? update()
これまでのところ、特定のクラスで呼び出されたイベントの数に応じてタイミングがとられるスコアリングにティックを使用することに遭遇しました。コメント/提案は非常に役に立ちます。