gpt4 book ai didi

java - Java 游戏速度变慢

转载 作者:行者123 更新时间:2023-12-01 13:40:40 25 4
gpt4 key购买 nike

我用 Java 构建了一个简单的“乒乓球”2D 游戏。

游戏使用 Swing 计时器,每 5 毫秒触发一次并触发 actionPerformed 方法。

此方法通过更改 x 和 y 坐标并重新绘制屏幕来“移动”(每 5 毫秒)屏幕上的项目。

大约一个小时前,游戏运行良好。然后我休息了一会儿,大约一分钟前回到了电脑前。

现在,当我运行游戏时,一切都变慢了。 (例如,屏幕上飞来飞去的“乒乓球”的移动速度不像以前那么快)。

可能是什么问题? (我认为没有必要提供代码,因为也许这种问题与代码无关,因为在问题开始发生之前代码没有改变。如果是请告诉我)。

编辑:一些代码:

在程序主对象的构造函数中:

        timer = new Timer(40,this);
timer.start();

在主对象的actionPerformed中:

    public void actionPerformed(ActionEvent e) {

bPaddle.move();
tPaddle.move();
ball.move();
checkCollision();
checkInScreen();

repaint();

}

程序中还有其他内容要添加到此处吗?

谢谢。

最佳答案

您应该尝试将重新计算和重绘分开。这样,无论您能达到的每秒帧数如何,您的乒乓球将始终(似乎)以相同的速度移动。

您需要做的一件事是计算计算新头寸所需的时间,并从重新计算之间等待的时间中减去该时间。

关于java - Java 游戏速度变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20819436/

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