我正在构建一个Web应用程序,该应用程序使用像前端库这样的React,并与节点后端通信视图WebSocket。
作为该应用程序的一部分,我正在尝试开发一个类似魔法棒的组件。单击按钮会消耗法力值,并且该法力值会随着时间的推移而重新填充。如果法力不足,则用户无法单击该按钮。
我的问题是,如何将魔法棒与后端同步?我需要后端来跟踪用户的法力,因此用户无论如何都不能绕过前端并发送帧,但是我也不希望后端发送会导致任何延迟前端“有资格被点击”信号
这使我相信,实现此目标的最佳方法是使前端和后端分别跟踪法力值,但是随着时间的流逝,我觉得细微的差异可能会导致两者之间非常不同步。随着时间的推移彼此。
最佳答案
在后端跟踪玩家的法力值。这是您的记录系统。
还应在前端跟踪玩家的法术力,包括“随时间推移”的参数。每当客户端和服务器进行通信时,服务器的响应应包括对游戏状态的任何更新,包括法力值。这应该纠正再生算法中随时间变化的所有漂移。
这在gamedev stackexchange上得到了很好的回答:
https://gamedev.stackexchange.com/questions/84402/mmo-client-server-architecture-nosql
关于javascript - 同步前端法力棒与后端,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34300004/