Ricerca…


Sintassi

  • convenience init (nomeNameed: String) // Crea un SKSpriteNode da un'immagine con nome nel catalogo delle risorse

  • posizione var: CGPoint // proprietà SKNode, ereditata da SKSpriteNode. La posizione del nodo nel sistema di coordinamento dei genitori.

  • func addChild (_ node: SKNode) // metodo SKNode, ereditato da SKScene. Utilizzato per aggiungere un SKSpriteNode alla scena (utilizzato anche per aggiungere SKNodes ad altri SKNode).

Aggiungere uno Sprite alla scena

In SpriteKit uno Sprite è rappresentato dalla classe SKSpriteNode (che eredita da SKNode ).

Prima di tutto crea un nuovo progetto Xcode basato sul modello SpriteKit come descritto nel tuo primo gioco SpriteKit .

Creare uno Sprite

Ora puoi creare un SKSpriteNode usando un'immagine caricata nella cartella Assets.xcassets .

let spaceship = SKSpriteNode(imageNamed: "Spaceship")

Spaceship è il nome dell'elemento immagine in Assets.xcassets.

Dopo aver creato lo sprite, puoi aggiungerlo alla tua scena (oa qualsiasi altro nodo).

Apri GameScene.swift , rimuovi tutto il suo contenuto e aggiungi quanto segue

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)
    }
}

Ora premi CMD + R in Xcode per lanciare il simulatore.

inserisci la descrizione dell'immagine qui

Sottoclasse di SKSpriteNode

È possibile SKSpriteNode sottoclassi SKSpriteNode e definire il proprio tipo di sprite.

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow