在不同地点重新产卵(产生新价值)

时间:2015-08-20 12:53:47

标签: swift sprite-kit location skspritenode

我有这组代码在一个设定的位置产生一个SKSpriteNode(使用rect),但是我试图让Node消失但是在一段时间后在另一个位置重新出现。我一直在寻找一个NSTimer,但不确定如何实现它,有没有一个很好的方法来做到这一点?

let rect = CGRectMake(8, 293, 165, 218)    
let x = rect.origin.x + CGFloat(arc4random()) % rect.size.width
let y = rect.origin.y + CGFloat(arc4random()) % rect.size.height
let randomPoint = CGPointMake(x, y)
self.redcircle.position = randomPoint
self.addChild(redcircle)

1 个答案:

答案 0 :(得分:0)

不使用NSTimer,而是使用SpriteKit SKAction。你需要的是行动waitForDuration

someNode.hidden = YES

waitAction = SKAction.waitForDuration(someDuration)

self.runAction(wait, completion: {() -> Void in

    // Sprite Kit waits for a certain amount of time and runs this completion closure
    // Inside here you can get the node to reappear again

    someNode.hidden = NO
}))