Sprite kit 为什么我的物理体在spritekit中发生几次碰撞后会彼此穿过?

Sprite kit 为什么我的物理体在spritekit中发生几次碰撞后会彼此穿过?,sprite-kit,Sprite Kit,我正在做一个游戏,其中包括一个角色在平台上跳跃,比如涂鸦跳跃游戏。问题是角色在与平台发生几次碰撞后将通过平台。对于跳转,我使用恢复 player.physicsbody.restitution=1.0 我在更新:方法中基于加速度计数据对角色的物理体施加力。您可以尝试使用 sprite.physicsBody.usesPreciseCollisionDetection = YES; 例如: 一个小物体可能移动得如此之快,以至于它完全穿过另一个物理物体,而没有两个物体相互接触的动画帧。如果你有必须

我正在做一个游戏,其中包括一个角色在平台上跳跃,比如涂鸦跳跃游戏。问题是角色在与平台发生几次碰撞后将通过平台。对于跳转,我使用
恢复
player.physicsbody.restitution=1.0
我在
更新:
方法中基于加速度计数据对角色的物理体施加力。

您可以尝试使用

sprite.physicsBody.usesPreciseCollisionDetection = YES;
例如:


一个小物体可能移动得如此之快,以至于它完全穿过另一个物理物体,而没有两个物体相互接触的动画帧。如果你有必须碰撞的物理物体,你可以提示Sprite Kit使用更精确的碰撞模型来检查相互作用。

嘿,伙计,我也有同样的问题

我有两个基本上是不移动的条的限制节点(isDynamic=false)。我在它们之间放置了一根移动的杆,如果我施加足够的脉冲,杆就会穿过限制杆。我把限位杆的尺寸增加了一倍,这样限位杆就不是只有4分高,而是8分高

在以比以前更快的方式施加脉冲后,似乎额外的尺寸使计算机能够跟上并防止移动杆通过限位杆

\


哦。我还必须使用精确的检测

张贴代码,显示如何检测碰撞以及碰撞后如何处理身体。请确保不要使用移动操作或手动设置位置来移动物理节点。遗憾的是,即使设置该属性也可能无法解决此问题。我仍然对快速移动的物体相互穿行有问题。这方面似乎没有保证的解决方案。你能更具体一点吗?也许提供一个代码示例?是的。。。更改此项后
limitNode1.physicsBody=SKPhysicsBody(矩形:CGSize(宽:50,高:4))
…到这个…`
limitNode1.physicsBody=SKPhysicsBody(矩形:CGSize(宽度:50,高度:40))
…我的节点停止相互传递。所有的运动都是在Y方向。。。所以我怀疑limitNode的Y轴上的额外区域就是解决方案。我也看到在某些情况下这可能不起作用。。。比如说,如果精灵因为审美的原因而不能被改变,请把它编辑成你的答案。记住,你帮的不是我,而是未来的访客