Recherche…


Remarques

Quand devriez-vous utiliser SKAction s pour exécuter les fonctions de minuterie? Presque toujours. La raison en est que Sprite Kit fonctionne sur un intervalle de mise à jour et que la vitesse de cet intervalle peut être modifiée pendant toute la durée de vie du processus en utilisant la propriété speed . Les scènes peuvent également être interrompues. Depuis que SKAction travaille dans la scène, lorsque vous modifiez ces propriétés, vous n'avez pas besoin de modifier vos fonctions temporelles. Si votre scène dure 0,5 seconde et que vous suspendez la scène, vous n'avez pas besoin d'arrêter les minuteries et de conserver cette différence de 0,5 seconde. Il vous est donné automatiquement, de sorte que lorsque vous ne le faites pas, le temps restant continue.

Quand devriez-vous utiliser NSTimer pour effectuer des fonctions de minuterie? Chaque fois que vous avez quelque chose qui doit être chronométré en dehors de l'environnement SKScene , et doit également être déclenché même lorsque la scène est en pause, ou doit se déclencher à un rythme constant même lorsque la vitesse de la scène change.

Ceci est préférable lorsque vous travaillez avec les contrôles UIKit et les contrôles SpriteKit . Comme UIKit n'a aucune idée de ce qui se passe avec SpriteKit , NSTimer se déclenche quel que soit l'état du SKScene . Un exemple serait que nous ayons un UILabel qui reçoit une mise à jour toutes les secondes et qui a besoin de données provenant de votre SKScene .

Implémenter une méthode qui se déclenche après une seconde

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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow