我在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