Sprite kit 中如何检测两个节点的碰撞点 objective c

how to detect two nodes collision point in Sprite kit and objective c

我有两个 SKSpriteNode,我知道如何检测它们是否在同一位置,但我不知道如何检测它们在节点的哪个位置发生碰撞。我特别想知道其中一个节点碰撞的地方,因为我想在节点高度端添加不同的applyImpulse,这样另一个节点就会改变方向。

当两个物体碰撞时,

didBeginContact 传递 SKPhysicsContact。 SKPhysocsContact 有一个 属性 contactPoint 这是一个 CGPoint 并且是场景坐标中两个物理体之间的接触点。从这个和你的两个身体碰撞时的位置,你可以计算出碰撞发生在身体上的确切位置。

您可以获得联系方式:

CGPoint collidedPoint = contact.contactPoint;

您可以获得如下 x 和 y 点:

NSLog(@"collidedPoint x= %f | %f",collidedPoint.x,collidedPoint.y); 
// Prints like: collidedPoint x= 424.855835 | 46.139378

继续编码.......... :)