gpt4 book ai didi

java - 如何修复 Java 中的动画滞后?

转载 作者:行者123 更新时间:2023-11-29 07:48:05 25 4
gpt4 key购买 nike

我正在尝试在 JComponent 的子类中使用下面的代码在 Java 中为我的游戏制作动画,但是这段代码会导致动画中出现滞后和抖动,并且对象看起来像“ split ”一样在屏幕上快速重绘。我该如何解决这个问题?我应该在单独的线程上重绘每个项目吗?

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) {

}
}
}

最佳答案

而不是使用 Java Timer试试 Swing Timer更适合Swing应用。

请看How to Use Swing Timers

示例代码如下:

int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
//...Perform a task...
}
};
new Timer(delay, taskPerformer).start();

找一个Sample code here

enter image description here

关于java - 如何修复 Java 中的动画滞后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23701688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com