让SKNode不要互相施加压力

我有两个SKNode对象。 碰撞时他们的位置会改变。

我怎样才能防止呢? 同时,我仍然希望能够通过- (void)didBeginContact来联系他们。

我试着把它们的mass属性都设置为0.0f但是没有奏效。

您可以通过设置类别,碰撞和联系位掩码来实现。

 uint32_t bodyABitMask = 1<<0; uint32_t bodyBBitMask = 1<<1; //A mask that defines which categories this physics body belongs to. [bodyA setCategoryBitMask:bodyABitMask]; [bodyB setCategoryBitMask:bodyBBitMask]; //A mask that defines which categories of physics bodies //can collide with this physics body. [bodyA setCollisionBitMask:0]; [bodyB setCollisionBitMask:0]; //A mask that defines which categories of bodies cause //intersection notifications with this physics body. [bodyA setContactTestBitMask:bodyBBitMask]; [bodyB setContactTestBitMask:bodyABitMask]; 

在上面的例子中,bodyA和bodyB不能碰撞,但是一旦他们接触到,你将会收到didBeginContact。