在一定时间后删除节点xcode sprite工具包



我做了一个简单的游戏,其中许多精灵节点从另一个球中射出。我的问题是在屏幕的末尾收集节点。所以…我希望节点在一段时间后消失,这样游戏就不会慢了。

我认为这是解决这个问题的必要代码。我很乐意帮忙,谢谢!

var timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "BallMovement", userInfo: nil, repeats: true)
func BallMovement(){

    Ball2 = SKSpriteNode(imageNamed: "Ball")
    Ball2.setScale(0.5)
    Ball2.position = CGPointMake(Ball.position.x, Ball.position.y)
    Ball2.name = "Ball2"

    Ball2.physicsBody = SKPhysicsBody(rectangleOfSize: Ball2.size)
    Ball2.physicsBody?.affectedByGravity = false
    Ball2.physicsBody?.dynamic = true
    Ball2.physicsBody?.friction = 0.4
    Ball2.physicsBody?.restitution = 0.1
    Ball2.zPosition = 1
    addChild(Ball2)
    let action = SKAction.moveToX(self.size.width, duration: 4)
    Ball2.runAction(SKAction.repeatActionForever(action))

}

你可以尝试这样的东西:

Ball2.runAction(SKAction.sequence([SKAction.repeatAction(action, count: 1000),SKAction.removeFromParent()];

您的action将重复1000次,关联的节点将从父节点中删除。

最新更新