基本上我想给一个物理身体“健康”,当它被击中时我想动态地减少这个健康状况。如果受到重创,我想带走很多健康。
我知道如何使用Node.userData为节点提供运行状况并从中取消该值,但我不知道如何检测影响力。
我也知道您可以使用CGRectIntersectsRect检测到“影响”但显然不会返回幅度,因为它是节点的方法而不是physicsBody ..
我该如何做到这一点?
答案 0 :(得分:3)
在didBeginContact:
中,您获得了一个包含collisionImpulse
属性的SKPhysicsContact对象:
指出这两个身体相互撞击的难度的冲动 在牛顿秒。
didBeginContact:
的代表(SKPhysicsWorld
)收到了SKPhysicsContactDelegate
条消息。