我正在为Sphero机器球编写游戏(论坛遇到了问题,似乎无法提问)。我正在尝试为2个或更多玩家进行球与球之间的碰撞检测。
首先他们在这里提供了一个示例: https://github.com/orbotix/Sphero-iOS-SDK/tree/master/samples/CollisionDetection
他们提供的阈值过于敏感,在木地板上会一直触发。暂且不考虑这个问题,我必须使用两个设备的碰撞时间戳来判断它们是否在大约相同的时间触发碰撞。
我的问题是,在减去时间戳时,某些情况下我得到的差异非常大,我认为起始差异本来就很长。我存储了几个时间戳,以便不错过正确的时间戳,并尝试调整死时间以查看是否可以降低误差。
最常见的是减去2个NSTimeInterval,我得到了0.68和0.72之间的差异(我原本期望是0.01级反应)。因此,我正在检查差异是否小于0.72,3次中有两次在0.72和0.73之间,还有几次得到了1.5、2.6、1.1甚至3.8。
似乎它不太可靠。文档说这个时间来自iPhone的参考。两个设备都同步自动获取时间,所以它们尽可能接近彼此。
有人尝试过这个并提出了可靠的解决方案吗,而不涉及保持一个球静止?