0

こちらの Pong のこのゲームで画面の更新に問題があります。run() メソッドは図形をグラフィックス (myBuffer) に描画し、それが bufferedImage (myImage) に描画されます。パドルが同時に移動できるように、スレッドに run() メソッドを実装しています。

このファイルで同じコマンドを使用して Pong を作成したため、他のクラス (ball、バンパー 1、バンパー 2) がこのプログラムで動作することがわかりますが、run() メソッドは使用しません。以前のものでリスナーを使用しましたが、うまく更新および更新されました (パドルキーが互いに干渉することに悩まされていました! :/)

私の推測では、1) スレッドが実行されない (可能性は低いですが不明)、2) repaint() の使用方法がスレッドで機能しない、または 3) 明らかな何かが欠けている、のいずれかです。:}

4

1 に答える 1

0

スレッドはrun()メソッドを 1 回だけ実行します。ブロックを繰り返し実行するには、無限ループを使用できます。

public void run() {
    for (;;) {
        // your code
    }
}
于 2012-04-18T21:58:02.567 に答える