我目前正在开发一款严重依赖物理的游戏,它将确定玩家是否输了。游戏大部分时间都运行良好,但偶尔物理效果在一台设备上的表现与另一台设备不同。它的工作方式是一个人移动这件作品并将其放置在他们想要的地方。然后游戏会保存所有棋子的状态并在物理效果结束前结束回合。此状态会转移到另一位玩家,因此两位玩家都可以看到转弯实际发生。我认为,如果每个节点都处于完全相同的位置,那么物理在两个设备上的表现都是一样的。就像我说的那样,它们非常相似,但有时它们的差异足以造成错误的检测游戏。我可以做些什么来确保它们在轮次之间发送状态的方式相同或更好吗?
最佳答案
正如其他人所发现的那样Sprite Kit's physics simulation is not deterministic .
您无法采取任何措施来“修复”此行为,但您始终可以直接将 Box2D 与 Sprite Kit 一起使用,分别绕过将所有 SK 物理类和属性转发给您自己的实现。
关于用于回合制游戏的 iOS SpriteKit 物理学?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22722676/