Szukaj…


Składnia

  • wygoda init (imageNamed name: String) // Utwórz SKSpriteNode z nazwanego obrazu w katalogu zasobów

  • var position: CGPoint // Właściwość SKNode, dziedziczona przez SKSpriteNode. Pozycja węzła w macierzystym układzie współrzędnych.

  • func addChild (_ node: SKNode) // Metoda SKNode, dziedziczona przez SKScene. Służy do dodawania SKSpriteNode do sceny (służy również do dodawania SKNodes do innych SKNodes).

Dodawanie duszka do sceny

W SpriteKit Sprite jest reprezentowany przez klasę SKSpriteNode (która dziedziczy po SKNode ).

Najpierw utwórz nowy projekt Xcode na podstawie szablonu SpriteKit, jak opisano w Twojej pierwszej grze SpriteKit .

Tworzenie duszka

Teraz możesz utworzyć SKSpriteNode za pomocą obrazu załadowanego do folderu Assets.xcassets .

let spaceship = SKSpriteNode(imageNamed: "Spaceship")

Spaceship to nazwa elementu obrazu w Assets.xcassets.

Po utworzeniu duszka możesz dodać go do swojej sceny (lub dowolnego innego węzła).

Otwórz GameScene.swift , usuń całą jego zawartość i dodaj następujące elementy

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

Teraz naciśnij CMD + R w Xcode, aby uruchomić Symulator.

wprowadź opis zdjęcia tutaj

Podklasa SKSpriteNode

Możesz SKSpriteNode i zdefiniować własny typ duszka.

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow