我正在为我的游戏编写服务器程序,但不知道如何保持移动速度。根据计算机上运行的程序,移动要么非常快,要么非常慢。我已经尝试为服务器创建自己的增量方法,但它不起作用。我无法在更新时使用 Slick delta 变量,因为服务器是使用 AWT 和 Kryonet 编程的。
有谁知道如何保持运动?
最佳答案
您的游戏服务器需要有明确的全局时间。我建议使用 System.currentTimeMillis();
然后,您将不得不根据时间来确定方程式的运动。由于您的机器上的循环不会以精确的速率执行,因此您需要通过使用 System.currentTimeMillis() 从先前的时间值中减去来获得传递的增量时间。在您的运动方程式中使用该值以获得一致的外观运动。如果您正在计算物理(即运动),您将需要使用 Runge Kutta 阶 4 方程,而不是普通的欧拉方程(欧拉随时间计算误差)。
其他有用的链接:
关于java - 如何保持服务器的移动速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791834/