Suche…


Bemerkungen

Wann sollten Sie mit SKAction s SKAction ausführen? Fast immer. Der Grund dafür ist, dass das Sprite Kit mit einem Aktualisierungsintervall arbeitet und die Geschwindigkeit dieses Intervalls während der gesamten Lebensdauer des Prozesses mithilfe der speed geändert werden kann. Szenen können auch angehalten werden. Da SKAction innerhalb der Szene arbeitet, müssen Sie Ihre Zeitfunktionen nicht ändern, wenn Sie diese Eigenschaften ändern. Wenn sich Ihre Szene nach 0,5 Sekunden im Prozess befindet und Sie die Szene anhalten, müssen Sie keine Zeitgeber anhalten und die Differenz von 0,5 Sekunden beibehalten. Es wird Ihnen automatisch gegeben, so dass die verbleibende Zeit bei einer Pause fortgesetzt wird.

Wann sollten Sie NSTimer , um NSTimer auszuführen? Wann immer Sie etwas haben, das außerhalb der SKScene Umgebung festgelegt werden muss, und auch ausgelöst werden muss, wenn die Szene angehalten ist, oder mit konstanter Geschwindigkeit ausgelöst werden muss, auch wenn sich die Szenengeschwindigkeit ändert.

Dies ist am besten UIKit , wenn Sie sowohl mit UIKit Steuerelementen als auch mit UIKit Steuerelementen SpriteKit . Da UIKit keine Ahnung hat, was mit SpriteKit , werden NSTimer unabhängig vom Zustand der SKScene . Ein Beispiel wäre, dass wir ein UILabel , das jede Sekunde ein Update erhält und Daten aus Ihrem SKScene .

Implementieren einer Methode, die nach einer Sekunde ausgelöst wird

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow