使用box2d将台球游戏状态从玩家转移到玩家

时间:2013-11-07 09:57:34

标签: ios actionscript-3 network-programming starling-framework

我在我的iOS(Starling)台球游戏中使用了Union服务器。

enter image description here

到目前为止,连接效果很好。

我的问题是:

  1. 你将如何处理从对手传球的位置。
  2. 让我说我休息一下,我想把那个镜头复制到另一个玩家?

    1. 你认为每帧(x,y)在联盟上发送消息是个好主意吗?
    2. 这会导致延迟问题吗?

1 个答案:

答案 0 :(得分:0)

首先谈谈你的问题:

游戏安装在两台设备上,规则相同。因此,在镜头上发送白球强制以及您修改的所有其他属性。在接收设备上添加该力等,球将重复发送用户所做的动作。

现在悲伤的部分:

我将是第一个让你失望的人 - 即使你解决了你的问题,并且在没有问题的情况下将信息从玩家发送到玩家,结果也不会令人愉快:box2d计算针对性能进行了优化,但结果会有所不同因为它的计算具有近似的准确性。因此,即使在相同的设备上,球也将在不同的运行中结束在不同的位置。你不会在一两次点击中注意到它,但是在玩了一分钟之后,你最终会得到不同的球位置。 在所有球停止移动并重新定位远程用户球位置后,您还可以尝试发送空间中每个球位置的消息。收到“纠正”消息后,将控件返回给玩家。

我们有类似的游戏,我刚刚编写了自己的2d引擎。如果您只使用球到球和球到矩形碰撞,那么编写自己的引擎很容易。