SKPhysicsJoint:接触和碰撞不起作用

Posted

技术标签:

【中文标题】SKPhysicsJoint:接触和碰撞不起作用【英文标题】:SKPhysicsJoint: Contacts and collisions not working 【发布时间】:2014-03-24 01:08:19 【问题描述】:

ios7.1 上,使用 SpriteKit,我创建了两个简单的矩形精灵和对应的物理实体。我设置了接触和碰撞位掩码,一切都完全按照我的预期工作:检测到接触并且碰撞防止两个矩形重叠。但是当我创建一个 SKPhysicsJointSpring 对象并连接两个矩形时,即使在模拟过程中矩形有时会重叠,也没有检测到接触。 (不过,弹簧的行为与人们预期的一样,有明显的振荡。)

换句话说,加入物理实体似乎可以防止 SprikeKit 中的接触检测和碰撞,这不是我想要的行为。

有人知道解决这个问题的方法吗?谢谢。

【问题讨论】:

【参考方案1】:

没有修复,这是 Sprite Kit 使用的 Box2D 物理引擎的内置行为。当您通过关节连接两个物体时,它们不再接触,也不会相互碰撞。

使用 Box2D,您可以通过 collideConnected 标志更改此行为。然而,Sprite Kit 的物理类中不存在这样的标志。

【讨论】:

谢谢。让我觉得我应该使用 cocos2d。至少我可以在出现问题时介入并解决问题。

以上是关于SKPhysicsJoint:接触和碰撞不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用固定的 SKPhysicsJoint 将作为孩子的平台检测命中框附加到玩家精灵会更改玩家的碰撞和检测位掩码

SpriteKit 碰撞检测不起作用

SKPhysicsBody碰撞不起作用

精灵面具碰撞不起作用(直接碰撞工作)

JS:当球移动得更快时,碰撞检测不起作用

为啥我的碰撞在 pygame 中不起作用?