【发布时间】:2015-08-05 09:31:19
【问题描述】:
我们正在使用 Spritekit 构建一个需要物理引擎具有确定性的游戏。
游戏的概念: 2 名玩家 - 2 台设备。 每个玩家都等待另一个玩家玩转牌。 在每一回合,玩家都在对其中一个物理实体施加脉冲,并通过 websocket 发送脉冲和施加脉冲的实体。 问题是每个物理模拟的结果都不一样。
根据这篇文章 http://blog.element84.com/comparing-sprite-kit-physics-to-direct-box2d.html(测试 3) 我们在 Spritekit 物理引擎中发现了问题。 我们尝试用 Cocos2d 3 + Chipmunk 切换 SpriteKit 并遇到了同样的问题(比 SpriteKit 好一点)。
现在,我们找到的唯一方法是切换到 Box2d,但我们不知道如何将引擎连接到我们的项目。
根据这篇文章: SpriteKit Nodes Sticking to Edges of Scene / Not Bouncing 这似乎是可能的。
我们的项目是用 Swift 编写的。
类似游戏: https://itunes.apple.com/en/app/soccer-stars/id826523703?mt=8
有什么建议吗?
【问题讨论】:
-
你的物理身体包含相同的重量?其次,精灵套件在内部使用 box2d 来实现类似的脉冲,只需定义身体的质量
-
是的,质量是相等的。问题是一样的
-
你能贴出那部分代码吗(物理一)
-
我认为任何物理引擎都不是确定性的。如果您需要,您自己可能会更好地移动脚本。
标签: swift cocos2d-iphone sprite-kit box2d chipmunk