0
在我的遊戲中,我有一種方法降低精靈。當用戶丟失(gameStarted == false)時,我需要一種方法來刪除我帶入場景的所有這些節點。我試圖通過簡單地說出ball.removeFromParent()和使用底部的removeBalls函數兩種方式來移除這些節點。兩種方法都阻止未來的球進入現場,但並沒有消除已經存在的球。如果有人有辦法做到這一點,我會非常感激。刪除存在的所有節點
override func didMoveToView(view: SKView) {
var create = SKAction.runBlock({() in self.createTargets()})
var wait = SKAction.waitForDuration(2)
var createAndWaitForever = SKAction.repeatActionForever(SKAction.sequence([create, wait])
self.runAction(createAndWaitForever)
}
func createTargets() {
ball = SKSpriteNode(imageNamed:"blueBlue")
let randomx = Int(arc4random_uniform(370) + 165)
ball.position = CGPoint(x: randomx, y: 1400)
addChild(ball)
let moveDown = SKAction.moveBy(CGVector(dx: 0, dy: -1300), duration: 7)
if gameStarted == false {
ball.removeAllActions()
ball.removeFromParent()
removeBalls([ball])
}
if gameStarted && spawnReady {
ball.runAction(moveDown)
if ball.parent == nil {
addChild(ball)
}
}
}
func removeBalls(balls : [SKSpriteNode]) {
for ball in balls {
ball.removeFromParent()
}
}
嗨,謝謝你的回覆。我沒有一個數組來跟蹤我的節點。我想嘗試你的代碼,但不幸的是我無法將它翻譯成swift。 –