Java
のゲームを作っている初心者ですAndroid
。
ゲームにスコア カウンターがあり、カウンターが特定の数値に達したときに、レベル 2 に達したことをプレーヤーに知らせるメッセージを画面上で点滅させたいなどです。
Iの他のすべての要素は、nextLevel
簡単に実装できました。これらの更新された要素は、特定のレベルにある間、変更を保持する必要があるためです。ただし、プレーヤーが適切なスコアのしきい値を超えた後、この「レベル 2」の画像を数秒間だけ描画する方法については混乱しています。
次のようなブール値を使用してみnextLevel
ました:
if (nextLevel) {
if (levelStart < 70) {
paint5.setAlpha(255 - (levelStart * 4));
paint7.setAlpha(255 - (levelStart * 4));
g.drawString(String.valueOf(scoremult), g.getWidth() / 2, g.getHeight() / 2 - 100,
paint5);
g.drawString("x", (g.getWidth() / 2) - 40, g.getHeight() / 2 - 100, paint7);
levelStart++;
} else {
levelStart = 0;
}
}
しかしnextLevel
、プレーヤーがレベル内にいる間ずっと true のままであるため、メッセージは描画され、何度もフェードアウトします。私が欲しいのは、イベントトリガーのようなものです。しきい値を超えると、プログラムで他に何が起こっているかに関係なく、描画ループが完了するまで実行されます。
第 2 レベルの実装方法は次のとおりです。
if ((score >= 50) && (score < 125)) {
level = 1.2;
scoremult = 2;
recentinterval = 27;
nextlevel = true;
}
助言がありますか?