我们知道在SpriteKit物理引擎实际是基于Box2D!
在SpriteKit中当你设置好适当的碰撞参数后,通过遵守SKPhysicsContactDelegate,你可以选择实现2各碰撞回调方法:
didBeginContact
didEndContact
方法中会传递一个参数,其类型为SKPhysicsContact,其中含有5个非常重要的碰撞信息,下面分别介绍一下:
- bodyA
类型为SKPhysicsBody,表示第一个碰撞接触对象 - bodyB
类型同上,表示第二个碰撞对象 - contactPoint
类型为CGPoint,表示基于scene坐标系的实际碰撞点的坐标 - collisionImpulse
类型为CGFloat,表示两个碰撞物体之间的碰撞强度,单位为牛顿秒(newton-seconds) - collisionNormal
类型为CGVector,表示碰撞的方向