在run()方法中使用repaint()更新图形?

时间:2012-04-18 21:38:25

标签: java swing animation java-2d

我在这个Pong游戏中更新屏幕时遇到问题。 run()方法将形状绘制到图形(myBuffer),然后将其绘制到bufferedImage(myImage)。我正在为Threads实现一个run()方法,以便paddles可以同时移动。

我知道其他类(ball,bumper1,bumper2)在这个程序中有效,因为我在这个文件中使用相同的命令制作了Pong,但是没有run()方法。我在上一个中使用过一个听众,它更新并刷新得很好(只是因为桨键互相干扰而烦恼!:/)

我的猜测是1)线程不执行(不太可能,但不确定)或2)我使用repaint()的方式在线程中不起作用或3)我遗漏了一些明显的东西。 :}

1 个答案:

答案 0 :(得分:0)

线程只执行一次run()方法。要重复执行块,可以使用无限循环:

public void run() {
    for (;;) {
        // your code
    }
}
相关问题