0

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;
}

助言がありますか?

4

0 に答える 0