编程语言
首页 > 编程语言> > java – 如何使用服务器保持移动速度?

java – 如何使用服务器保持移动速度?

作者:互联网

我正在为我的游戏编程服务器,无法弄清楚如何保持移动速度.根据计算机上运行的内容,移动速度非常快或非常慢.我已经尝试为服务器制作自己的delta方法,但它不起作用.我不能在更新时使用Slick delta变量,因为服务器是使用AWT& amp; Kryonet.

有谁知道如何保持运动?

解决方法:

您的游戏服务器需要具有明确的全球时间.我建议使用System.currentTimeMillis();

你必须根据时间基于时间运动.由于计算机上的循环不会以精确的速率执行,因此需要通过使用从上一个时间值中减去的System.currentTimeMillis()来传递增量时间.在运动方程中使用该值可获得一致的外观运动.如果你正在计算物理(即运动),你将需要使用龙格库塔4阶方程,而不是正常的欧拉方程(欧拉计算随时间的误差).

其他有用的链接:

http://gafferongames.com/game-physics/integration-basics/

https://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimization

标签:java,awt,kryonet
来源: https://codeday.me/bug/20190626/1290306.html