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个精灵的只有一个。我的问题是,我怎么才能让这个精灵只能被删除,而不是随机的一个。希望这个问题能够得到很好的解答。谢谢大家
是!这真是个诀窍,我很庆幸能加入这样一个有才华的开发者社区!谢谢 –