Recherche…


Syntaxe

  • commod init (imageNamed name: String) // Crée un SKSpriteNode à partir d'une image nommée dans le catalogue d'actifs

  • var position: propriété CGPoint // SKNode, héritée par SKSpriteNode. La position du nœud dans le système de coordonnées des parents.

  • func addChild (_ node: SKNode) // Méthode SKNode, héritée par SKScene. Utilisé pour ajouter un SKSpriteNode à la scène (également utilisé pour ajouter SKNodes à d'autres SKNodes).

Ajouter un sprite à la scène

Dans SpriteKit, un Sprite est représenté par la classe SKSpriteNode (qui hérite de SKNode ).

Tout d'abord, créez un nouveau projet Xcode basé sur le modèle SpriteKit, comme décrit dans Votre premier jeu SpriteKit .

Créer un sprite

Vous pouvez maintenant créer un SKSpriteNode à l'aide d'une image chargée dans le dossier Assets.xcassets .

let spaceship = SKSpriteNode(imageNamed: "Spaceship")

Spaceship est le nom de l'élément d'image dans les Assets.xcassets.

Une fois le sprite créé, vous pouvez l'ajouter à votre scène (ou à tout autre nœud).

Ouvrez GameScene.swift , supprimez tout son contenu et ajoutez ce qui suit

class GameScene: SKScene {
    override func didMoveToView(view: SKView) {
        let enemy = SKSpriteNode(imageNamed: "Spaceship")
        enemy.position = CGPoint(x:self.frame.midX, y:self.frame.midY)
        self.addChild(enemy)
    }
}

Maintenant, appuyez sur CMD + R dans Xcode pour lancer le simulateur.

entrer la description de l'image ici

Sous-classement SKSpriteNode

Vous pouvez sous- SKSpriteNode et définir votre propre type d’image-objet.

class Hero: SKSpriteNode {
    //Use a convenience init when you want to hard code values
    convenience init() {
        let texture = SKTexture(imageNamed: "Hero")
        self.init(texture: texture, color: .clearColor(), size: texture.size())
    }

    //We need to override this to allow for class to work in SpriteKit Scene Builder
    required init?(coder aDecoder: NSCoder) {
        super.init(coder:aDecoder)
    }

    //Override this to allow Hero to have access all convenience init methods
    override init(texture: SKTexture?, color: UIColor, size: CGSize) 
    {
        super.init(texture: texture, color: color, size: size)
    }
}


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