第三章 移动同步
同步概念比较简单,其实就是指的这个两个或两个以上随时间变化的量,在变化过程中保持一定的相对关系。游戏中的同步主要是角色信息同步、位置、状态同步等。我的对于网络游戏的理解是:虽然游戏中表现的是与其他人联机游戏,但其实所有表现是客户端的表现,而在网络中传播的是代表如何决定客户端表现的数据信息。所以把所有相关的客户端表现同步十分重要。
游戏同步基本的有帧同步和状态同步
教程对position、direction、speed进行了状态同步。首先要明确这些数据在客户端与服务端传递需要载体,教程定义了NEntity用与传输数据,定义了Entity用于打包数据,定义了EntityController用于实体对象的控制(比如数据的赋值、数据的改变)。
玩家通过控制器输入数据(PlayerInputController),通过MapService将数据传给服务端,同时将数据传给Character(父类)完成本机逻辑。服务端接收数据后同步给服务端数据形式的Entity,之后发回广播信息,使得其他客户端收到同步消息,通过EntityManager完成逻辑。