SpriteKit物理引擎碰撞中5个重要信息

Posted 大熊猫侯佩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpriteKit物理引擎碰撞中5个重要信息相关的知识,希望对你有一定的参考价值。

我们知道在SpriteKit物理引擎实际是基于Box2D!

在SpriteKit中当你设置好适当的碰撞参数后,通过遵守SKPhysicsContactDelegate,你可以选择实现2各碰撞回调方法:

didBeginContact
didEndContact

方法中会传递一个参数,其类型为SKPhysicsContact,其中含有5个非常重要的碰撞信息,下面分别介绍一下:

  1. bodyA
    类型为SKPhysicsBody,表示第一个碰撞接触对象
  2. bodyB
    类型同上,表示第二个碰撞对象
  3. contactPoint
    类型为CGPoint,表示基于scene坐标系的实际碰撞点的坐标
  4. collisionImpulse
    类型为CGFloat,表示两个碰撞物体之间的碰撞强度,单位为牛顿秒(newton-seconds)
  5. collisionNormal
    类型为CGVector,表示碰撞的方向

以上是关于SpriteKit物理引擎碰撞中5个重要信息的主要内容,如果未能解决你的问题,请参考以下文章

未检测到 spritekit 物理碰撞

多层中的 SpriteKit 物理实体碰撞

低 SpriteKit FPS 会导致碰撞丢失?

Swift SpriteKit 基本接触/碰撞

Unity3D 在Update中不要过多地修改Transform 信息

SKPhysics 与 Swift 和 SpriteKit