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

时间:2022-04-29 10:56:49

我们知道在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,表示碰撞的方向