我有一个精灵与墙壁接触的游戏,当我联系时我会移除精灵并做游戏条件之类的事情,例如增加玩家得分等等。但是,由于一些奇怪的原因,每次调用didBeginContact即使我每次都删除节点,精灵也会与墙壁接触!为什么会这样?
这是我的代码:
-(void)didBeginContact:(SKPhysicsContact*)contact
{
NSLog(@"Did Begin Contact");
// First body is always animal
SKPhysicsBody *firstBody;
SKPhysicsBody *secondBody;
if (contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask)
{
firstBody = contact.bodyA;
secondBody = contact.bodyB;
}
else
{
firstBody = contact.bodyB;
secondBody = contact.bodyA;
}
// Animal Clean Up (Removal) after contact with wall
[firstBody.node removeFromParent];
score++;
}