У меня есть функция, баскетбол. Я хочу, чтобы у меня появился узел basketBall в CGPoint (515,700), в верхней части экрана, в обычный временной интервал. Единственный метод, который я знал, что будет ждать несколько секунд, - sleep(); однако sleep(), по-видимому, не позволяет SpriteNodes оставаться на экране, поэтому мне нужна альтернатива.Как использовать SKAction SpriteKit для создания временного интервала для SKSpriteNode?
Я обнаружил NSTimeInterval, но я бы предпочел воздержаться от импорта Фонда. Я думаю, что SKAction позволяет время проходить через waitForDuration(), но я очень смущен относительно того, как это работает. Может кто-то пролил свет на SKAction от SpriteKit?
override func didMoveToView(view: SKView) {
let basketBall = SKSpriteNode(imageNamed: "basketball")
let waitForObjects = SKAction.waitForDuration(3)
let basketBallFalls = SKAction.runBlock({
self.Basketball()
})
let action = SKAction.sequence([waitForObjects, basketBallFalls])
SKAction.runAction(action, onChildWithName: "basketball")
SKAction.repeatActionForever(action)
//Basketball()
}
func Basketball(){
basketBall.position = CGPointMake(515, 700)
basketBall.size = CGSizeMake(50, 50)
basketBall.size = CGSize(width: 50.0, height: 50.0)
basketBall.zPosition = 10
basketBall.physicsBody = SKPhysicsBody(circleOfRadius: 25.0)
basketBall.physicsBody?.mass = 0.8
basketBall.physicsBody?.restitution = 0.6
basketBall.physicsBody?.dynamic = true
self.addChild(basketBall)
}