0

我制作了一个在线 HTML5 游戏,比如 blobby volley(两个果冻正在打排球)。我在 php 上有一个 websocket 服务器。游戏以 50 fps 运行。这是它如何工作的示例:我按下右箭头按钮,我的客户端设置moveForward标志true并将消息发送到服务器。服务器将消息传输到另一个客户端,这个客户端处理它。当客户端处理keyup它时,它会做同样的事情,但将moveForwardflag 设置为false. 问题是服务器将消息传输到客户端需要一些时间,因此当 keyup 事件触发时,果冻立即在一个客户端上停止,但仍在另一个客户端上移动,并在一秒钟内停止。有什么办法让它更同步?

4

2 回答 2

0

您可能想尝试在游戏中省略服务器并使其成为浏览器之间的点对点通信。

我对此没有个人经验,所以我能给你的最好的就是这个问题的链接。似乎大多数浏览器最近都添加了对 WebRTC 的支持。

于 2012-07-21T11:25:13.937 回答
0

而不是传输动作,你可以只传输位置,会更准确,但我猜仍然会有一点延迟。

于 2013-01-21T14:19:53.193 回答