让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。