Buscar..


Observaciones

¿Cuándo debería usar SKAction s para realizar funciones de temporizador? Casi siempre. La razón de esto es porque Sprite Kit opera en un intervalo de actualización, y la velocidad de este intervalo se puede cambiar durante la vida útil del proceso utilizando la propiedad de speed . Las escenas también se pueden pausar también. Dado que el trabajo de SKAction dentro de la escena, cuando modifica estas propiedades, no es necesario modificar las funciones de tiempo. Si su escena está a 0.5 segundos del proceso y la detiene, no necesita detener ningún temporizador y mantener esa diferencia de 0.5 segundos. Se le entrega automáticamente, de modo que, cuando recupere la pausa, continúe el tiempo restante.

¿Cuándo debería usar NSTimer s para realizar funciones de temporizador? Siempre que tenga algo que deba cronometrarse fuera del entorno de SKScene , y también debe dispararse incluso cuando la escena está en pausa, o debe dispararse a una velocidad constante incluso cuando la velocidad de la escena cambia.

Esta es la mejor opción cuando se trabaja con las dos UIKit controles y SpriteKit controles. Dado que UIKit no tiene idea de lo que sucede con SpriteKit , NSTimer s se activará independientemente del estado del SKScene . Un ejemplo sería que tenemos una UILabel que recibe una actualización cada segundo, y necesita datos dentro de su SKScene .

Implementando un método que dispara después de un segundo.

SKACCIÓN:

let waitForOneSecond = SKAction.waitForDuration(1) let action = SKAction.runBlock(){action()} let sequence = SKAction.sequence([waitForOneSecond,action]) self.runAction(sequence)

NSTimer:

NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: #selector(action), userInfo: nil, repeats: false)



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow