2012-04-18 1 views
0

ここのPongのゲームで画面を更新する際に問題が発生しました。 run()メソッドはグラフィックス(myBuffer)に形状を描画し、次にバッファリングされたイメージ(myImage)に描画されます。パドルが同時に動くようにThreadsのrun()メソッドを実装しています。run()メソッドでrepaint()を使用してグラフィックスを更新しますか?

他のクラス(ball、bumper1、bumper2)は、私がこのファイルで同じコマンドを使ってPongを作ったがrun()メソッドを使わなかったので、このプログラムで動作することが分かりました。私は以前のリスナーを使用していましたが、それはうまく更新されてリフレッシュされました(ちょうどお互いに干渉するパドルキーを悩ませていました)://

私の推測では、 2)スレッドを使ってペイントしても動作しない、または3)明らかに何かが欠けている。 :}

答えて

0

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

public void run() { 
    for (;;) { 
     // your code 
    } 
} 
+0

これはまさに私が必要でした! forループの代わりにwhileループを置くとうまくいきました。ありがとうございました。 – Zchpyvr

関連する問題