I am trying to animate my game in Java using the code below in a subclass of JComponent, but this code causes lags and jitters in the animation, and objects appear to be "split" as they are redrawn rapidly on the screen. How can I resolve this issue? Should I redraw each item on a separate thread?
public GameScene(){
setDoubleBuffered(true);
run();
}
...
public void run() {
Thread animation = new Thread(new Runnable() {
public void run() {
updateGraphics();
}
});
animation.start();
}
public void updateGraphics() {
while (true) {
repaint();
try {
Thread.sleep(5);
} catch (Exception ex) {
}
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…