0

我正在制作一个简单的 2 人浏览器游戏,其中有一个旋转实体,通过鼠标单击从一个方块跳到另一个方块。服务器在 NodeJS 上。

为了确定要跳入哪个方格,我使用了此处显示的 2D 光线投射

现在我的问题是,有时,如果线指向正方形的角,则进入另一个客户端的结果是不一样的。(例如在玩家 1 看来,他可以成功跳到下一个格子,而在玩家 2 看来,玩家 1 不成功。)

我同步两个玩家的方式是我只发送点击动作和动作所有者的当前角度,然后将其反转(因为在其他玩家看来,敌人在对面)。

起初我以为是因为反转的角度导致结果不一样所以我尝试旋转画布但我仍然得到相同的结果。

我还尝试增加检测要跳入哪个方格的线(射线),但我仍然得到不准确的结果。

另一种尝试是强制更新在动作同步上投射的光线,但我仍然得到不准确的结果。

是否可以在不使服务器具有权威性的情况下达到预期的结果?(例如在服务器中重新创建环境和实体矩形,并从那里得到结果,这里的问题是我不知道如何。)

这是问题的直观表示

在此处输入图像描述

4

0 回答 0