我在Swift 3上使用Sprit-kit我的问题是在将子弹射向一个节点(我称之为Planet)之后,我不希望节点(Planet)消失我只想要子弹从场景中消失,并且我的节点(Planet)仍然继续运行,并且如果该节点(Planet)与主玩家发生碰撞,它们都会消失(这里没有问题)。我的问题是当子弹与那个节点两者如何消失在碰撞函数曾经我只是写Bullet.removefromParent()这里是我的代码(我想保持我的星球子弹碰撞,并从现场我的子弹取出后):SpritKit swift 3物理身体碰撞,只删除一个节点
func CollitionPlannetWithBullet(_ Bullet : SKSpriteNode, Planet : SKSpriteNode){
Bullet.removeFromParent()
}
,这是代码中确实开始了联系功能N代表地球和子弹:
if ((firstBody.categoryBitMask == physicsCatagory.Planet) &&
(secondBody.categoryBitMask == physicsCatagory.Bullet)) ||
((firstBody.categoryBitMask == physicsCatagory.Bullet) &&
(secondBody.categoryBitMask == physicsCatagory.Planet)) {
CollitionPlannetWithBullet(firstBody.node as! SKSpriteNode, Planet: secondBody.node as! SKSpriteNode)
}
你混淆了自己,在你的if语句,你说body1或body2可以子弹,但在你的'CollitionPlannetWithBullet'(拼写错误?)你是说只有body1是子弹。尝试并保持一致 – Knight0fDragon