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