我目前正在开发一种联网的2D MMO风格的游戏,其中几个瘦客户端(在applet中运行)能够连接到服务器,并且做好MMO风格的“事物”!
游戏的更多背景知识:首先,我正在使用UDP来实现这一目标。每当用户不断向上/向下/向左/向右移动时,都会有滚动背景,并且每个客户端都有自己的2D头像始终位于屏幕中心。
我过去三天左右遇到的问题是:我想我不理解为每个客户更新X,Y位置的过程背后的数学,对于所有客户来说,因为现在每当连接一个新客户端时,正在运行的第一个客户端实际上只要它是“WSAD-ing”就会移动后一个客户端。
我想我希望能够通过滚动的背景来了解我应该如何处理这个问题,并且个别客户端始终位于屏幕中间,但会与在世界各地移动的其他客户进行更新。
答案 0 :(得分:0)
正如您所说,您需要将每个用户放在中间,他们不需要四处移动。
您可以计算出与正在玩的用户相比的其他用户的相对位置。如果它们距离太远,则根本不绘制它们。
答案 1 :(得分:0)
使用其自己的主参考坐标系统为所有对象存储位置的某个中央服务器可能更容易。客户端应该在启动时注册此服务器,服务器可以定期检查客户端是否仍处于活动状态/在线状态。