Ricerca…


Osservazioni

Quando dovresti usare SKAction per eseguire le funzioni del timer? Quasi sempre. Il motivo è che Sprite Kit opera su un intervallo di aggiornamento e la velocità di questo intervallo può essere modificata per tutta la durata del processo utilizzando la proprietà speed . Anche le scene possono essere messe in pausa. Poiché i lavori di SKAction all'interno della scena, quando modifichi queste proprietà, non è necessario modificare le tue funzioni temporali. Se la scena è di 0,5 secondi nel processo e si mette in pausa la scena, non è necessario interrompere i timer e mantenere tale differenza di 0,5 secondi. Ti viene dato automaticamente, in modo che quando si riattiva, il tempo rimanente continua.

Quando dovresti usare NSTimer per eseguire le funzioni del timer? Ogni volta che si dispone di qualcosa che deve essere SKScene al di fuori dell'ambiente SKScene , e deve anche essere SKScene anche quando la scena è in pausa, o deve sparare a una velocità costante anche quando la velocità della scena cambia.

Questo è utilizzato al meglio quando si lavora con entrambe le UIKit controlli e SpriteKit controlli. Poiché UIKit non ha idea di cosa succede con SpriteKit , i NSTimer s si NSTimer indipendentemente dallo stato di SKScene . Un esempio potrebbe essere un UILabel che riceve un aggiornamento ogni secondo, e ha bisogno di dati dall'interno di SKScene .

Implementare un metodo che si attiva dopo un secondo

SKAction:

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow