sprite-kit
SKSpriteNode (Sprites)
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.
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)
}
}