我做了一个简单的游戏,其中许多精灵节点从另一个球中射出。我的问题是在屏幕的末尾收集节点。所以…我希望节点在一段时间后消失,这样游戏就不会慢了。
我认为这是解决这个问题的必要代码。我很乐意帮忙,谢谢!
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次,关联的节点将从父节点中删除。