【问题标题】:Spritekit, Cocos2D/Chipmunk physics engine is not deterministic, switching to Box2dSpritekit,Cocos2D/Chipmunk物理引擎不确定,切换到Box2d
【发布时间】: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


【解决方案1】:

认为这是行不通的,因为所有物理引擎在不同的设备上都会有所不同。这里很好地讨论了处理网络物理的方法:

Introduction to Network Physics by Glenn Fiedler

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多