0

Player を 32 x 32 のタイルに移動するクラスの関数があります。ローカルの x 値と y 値は、(1,0)、(0,1)、(-1,0)、または (0,-1) を参照します (移動方向を参照)。sprites は、歩行用のさまざまなスプライトを参照するバッファリングされた画像の配列です。Player.x と Player.y はプレーヤーの現在のタイル座標で、miniX と miniY は画像がシフトされるピクセルの量です。Swing.player は、画像を含む JPanel です。currentSprite は、現在使用されているにもかかわらずです。

        switch (2 * x + y) {
            case 2:
                Player.miniX = 4;
                currentSprite = sprites[10];
                Swing.player.repaint();
                //pause
                Player.miniX = 8;
                currentSprite = sprites[11];
                Swing.player.repaint();
                //pause
                Player.miniX = 12;
                Swing.player.repaint();
                currentSprite = sprites[10];
                Swing.player.repaint();
                //pause
                Player.miniX = 16;
                currentSprite = sprites[11];
                Swing.player.repaint();
                //pause
                Player.miniX = 20;
                currentSprite = sprites[10];
                Swing.player.repaint();
                //pause
                Player.miniX = 24;
                currentSprite = sprites[11];
                Swing.player.repaint();
                //pause
                Player.miniX = 28;
                currentSprite = sprites[10];
                Swing.player.repaint();
                //pause
                Player.miniX = 0;
                Player.x += 1;
                currentSprite = sprites[9];
                break;
            case 1:
                //omitted as is same as above
                break;
            case -1:
                //omitted as is same as above
                break;
            case -2:
                //omitted as is same as above
                break;
        }

各シフトの間に数ミリ秒間一時停止する最良の方法は何でしょうか?

4

2 に答える 2

0

これを使って :Thread.sleep(1000);

これにより、現在実行中のスレッドが1秒間、つまり1000ミリ秒スリープします。

于 2013-03-23T21:18:42.990 に答える
0

Swing Timer を使用してアニメーションをスケジュールします。How to Use Timersに関する Swing チュートリアルのセクションを読んでください。

于 2013-03-23T21:26:23.930 に答える