次の質問は非常に具体的ですが、私は私の問題の解決に1時間以上を要望しています。 3秒ごとに。ユーザーが正しい色をタップしたかどうかを検出できますが、ユーザーが次の色をスコアするのを待っているかどうかを検出できません。私は、次のコードを試してみました:スプライトが特定の間隔でタッチされていないかどうかを検出する方法
private float timeSeconds = 0f;
private float period = 3f;
timeSeconds += Gdx.graphics.getRawDeltaTime();
for (int i=0;i<4;i++) {
if (executed == true && !(sprite[zahl[i]].getBoundingRectangle().contains(touchPoint.x,
touchPoint.y))&& timeSeconds==0 && zahl[4] != zahl[i]) {
timeSeconds = 0;
this.dispose();
game.setScreen(new GameOverScreen(game, Integer.parseInt(score)));
return;
}
}
このコードは、部分的に動作します:ユーザーがdoesn't画面をタッチすると、その後、GameOverScreenが表示されます。しかし、ユーザーが正しい色(=スプライト)をタップすると、GameOverScreenも表示されます。しかし、ユーザーが正しいスプライトをタップするとゲームを続行したい、そしてゲームを終了したい、つまり、ユーザーが3秒以内に画面上の何かをタップしていない場合、GameOverScreenを表示することを意味する。
私は何らかの種類のタイマーがあると仮定しているので、正しいことに触れたときに真に設定されたブール値を持っています。タイマーが終了したら、trueの場合はfalseに設定します – Zoe