如何实现射击和碰撞

时间:2019-02-23 04:18:45

标签: node.js canvas socket.io

我正在寻找解决方案,该如何实现对游戏的射击。我希望在鼠标方向射击与其他玩家保持同步,并且当子弹与其他玩家碰撞时他会死去并重生。 这是我的代码: Server.js

location.pathname

当玩家加入时,他会出现在屏幕上等。但是我不知道如何实现射击。希望能有所帮助。 :)

1 个答案:

答案 0 :(得分:0)

要构建多人在线游戏(尤其是大规模多人在线快节奏游戏,例如PUBG),我们应该“计算”子弹与玩家之间在客户端或服务器上的碰撞侧。

要在客户端执行此操作,您将需要在客户端使用“物理引擎”,如果您使用HTML5来构建游戏,则可以尝试使用“ Phaser.js”游戏引擎。由于网络和其他问题,玩家A可能认为他杀死了玩家B,但是玩家B可能认为子弹未命中,我们通常使用“帧对齐”技术来解决此问题。

要在服务器端进行计算,通常需要编写自己的物理引擎,用户将“动作”发送到服务器,服务器计算每个用户和每个子弹的位置,服务器确定哪个用户死亡。这种技术称为“状态同步”。

这意味着,要制作MMS游戏,首先确定要使用哪种技术,我建议您使用游戏/物理引擎并在客户端进行计算,否则,如果玩家数量增加,您将需要更多和更多的游戏服务器。