Recherche…


Créer et exécuter un SKAction simple

Un exemple très simple serait de supprimer un SKSpriteNode.

En Swift:

let node = SKSpriteNode(imageNamed: "image")
let action = SKAction.fadeOutWithDuration(1.0)
node.runAction(action)

Création d'une séquence d'actions répétée

Parfois, il est nécessaire de faire une action sur une répétition ou une séquence. Cet exemple rendra le nœud en fondu et sortira au total 3 fois.

En Swift:

let node = SKSpriteNode(imageNamed: "image")
let actionFadeOut = SKAction.fadeOutWithDuration(1.0)
let actionFadeIn = SKAction.fadeInWithDuration(1.0)
let actionSequence = SKAction.sequence([actionFadeOut, actionFadeIn])
let actionRepeat = SKAction.repeatAction(actionSequence, count: 3)
node.runAction(actionRepeat)

Exécution d'un bloc de code dans un SKAction

Un cas utile est que l'action exécute un bloc de code.

En Swift:

let node = SKSpriteNode(imageNamed: "image")
let actionBlock = SKAction.runBlock({
    //Do what you want here
    if let gameScene = node.scene as? GameScene {
        gameScene.score += 5
    }
})
node.runAction(actionBlock)

Actions nommées pouvant être lancées ou supprimées ailleurs.

Parfois, vous souhaitez démarrer ou supprimer une action sur un nœud spécifique à un moment donné. Par exemple, vous pouvez vouloir arrêter un objet en mouvement lorsque l'utilisateur appuie sur l'écran. Cela devient très utile lorsqu'un nœud a plusieurs actions et que vous souhaitez uniquement accéder à l'un d'entre eux.

let move = SKAction.moveTo(x: 200, duration: 2)
object.run(move, withKey: "moveX")

Ici, nous définissons la clé "moveX" pour le move action afin d'y accéder ultérieurement dans une autre partie de la classe.

  override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        object.removeAction(forKey: "moveX")
    }

Lorsque l'utilisateur touche l'écran, l'action sera supprimée et l'objet cessera de bouger.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow