1
我有一個for循環中實例5個精靈這樣不能刪除竊聽:斯威夫特
for enemy in 1...5 {
negativeOnComing = SKSpriteNode(imageNamed: "Enemy3")
negativeOnComing.physicsBody = SKPhysicsBody(circleOfRadius: negativeOnComing.frame.size.width/2)
negativeOnComing.physicsBody?.dynamic = true
negativeOnComing.physicsBody?.categoryBitMask = PhysicsCategory.negativeOncoming
negativeOnComing.physicsBody?.fieldBitMask = PhysicsCategory.negativeOncoming
negativeOnComing.physicsBody?.contactTestBitMask = PhysicsCategory.mainCenterNode | PhysicsCategory.positiveOncoming
negativeOnComing.physicsBody?.node?.name = "negativeOnComing"
self.addChild(negativeOnComing)
} 我已經聲明的變量作爲全球
var negativeOnComing : SKSpriteNode!
現在我希望能夠移除一旦點擊就被點擊的精靈。要嘗試這個我沒
func removeNegativeOncoming(negativeOnComingR:SKSpriteNode){
println("Tapped")
childNodeWithName("negativeOnComing")?.removeFromParent()
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent){
var touch = touches.anyObject() as UITouch
var touchPosition = touch.locationInNode(self)
var enemyNodePosition = negativeOnComing.childNodeWithName("negativeOnComing")?.position
var enemyNodeFrame = negativeOnComing.frame
func removeEnemyNode (UITouch) -> SKSpriteNode {
if (enemyNodeFrame.contains(touchPosition)) {
removeNegativeOncoming(negativeOnComing)
}
return negativeOnComing
}
mainSpriteMovement(touch)
}
現在,這個功能其實並刪除精靈但是,它不會刪除這正是拍了拍精靈,但在隨機的5個精靈的只有一個。我的問題是,我怎麼才能讓這個精靈只能被刪除,而不是隨機的一個。希望這個問題能夠得到很好的解答。謝謝大家
是!這真是個訣竅,我很慶幸能加入這樣一個有才華的開發者社區!謝謝 –