我在 iOS (Starling) 台球游戏中使用 Union 服务器。
到目前为止,连接工作得很好。
我的问题是:
- 你将如何处理从对手那里转移球的位置。
假设我突破了,我想把那个投篮复制给其他球员?
- 您认为每帧(x,y)通过联合发送消息是个好主意吗?
这会导致延迟问题吗?
我在 iOS (Starling) 台球游戏中使用 Union 服务器。
到目前为止,连接工作得很好。
我的问题是:
假设我突破了,我想把那个投篮复制给其他球员?
这会导致延迟问题吗?
首先关于你的问题:
游戏安装在两个设备上,规则相同。因此,在拍摄时发送白球力和您修改的所有其他属性。在接收设备上添加该力等,球将重复发送用户所做的动作。
现在可悲的部分:
我将是第一个让你失望的人——即使你解决了你的问题并在没有问题的情况下从一个玩家到另一个玩家发送消息,结果也不会令人愉快:box2d 计算针对性能进行了优化,但计算结果会有所不同具有近似的准确性。因此,即使在同一个设备上,球也会在不同的运行中出现在不同的位置。你不会在一两击中注意到它,但在打了一分钟后,你最终会得到不同的球位置。您还可以尝试在所有球停止移动后发送空间中每个球位置的消息并重新定位远程用户的球位置。收到“更正”消息后,将控制权返回给玩家。
我们有一个类似的游戏,我只是编写了自己的 2d 引擎。如果您只使用球对球和球对矩形的碰撞,那么编写自己的引擎很容易。