0

ゲームをコーディングしていますが、ゲーム自体に入る前に約 3 ~ 5 秒間会社のロゴを表示したいと考えています。これが私のコードです:

Graphics gfx = buffer.getDrawGraphics();
    gfx.setColor(new Color(146, 17, 189));
    gfx.fillRect(0, 0, this.getWidth(), this.getHeight());
    // Draw stuffs between here...
    gfx.drawImage(icon.getImage(), 0, 0, this.getWidth(), this.getHeight(), null);
    int timer = 0;
    while (timer <= 4) {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException exc) {
            exc.printStackTrace();
            System.out.println("Could not put thread to sleep! :(");
        }
        timer++;
    }
    gfx.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), null);
    if (key.showFPS == true) {
        //Set it up so that it still works with the "per second" rule.
        key.showPerSeconds(buffer, FPS, TPS);
    }
    // and here.
    gfx.dispose();
    buffer.show();
}

私の主な問題は、空白の JFrame が表示され、4 秒後にゲーム自体が表示されることです。私のコードの何が問題になっていますか? 私が今していないことで、私がすべきことはありますか?

4

2 に答える 2

0

コードに 4 秒のスリープがあるため、完全な JFrame を描画するのに 4 秒かかります。

while (timer <= 4) {
        try {
            Thread.sleep(1000);
于 2013-09-28T16:08:38.353 に答える