Поиск…


Синтаксис

  • удобство init (imageNamed name: String) // Создайте SKSpriteNode из именованного изображения в каталоге активов

  • var position: свойство CGPoint // SKNode, унаследованное SKSpriteNode. Положение узла в родительской системе координат.

  • func addChild (_ node: SKNode) // Метод SKNode, унаследованный SKScene. Используется для добавления SKSpriteNode в сцену (также используется для добавления SKNodes в другие SKNodes).

Добавление спрайта в сцену

В SpriteKit Sprite представлен классом SKSpriteNode (который наследуется от SKNode ).

Прежде всего создайте новый проект Xcode на основе шаблона SpriteKit, как описано в вашей первой игре SpriteKit .

Создание спрайта

Теперь вы можете создать SKSpriteNode, используя изображение, загруженное в папку Assets.xcassets .

let spaceship = SKSpriteNode(imageNamed: "Spaceship")

Spaceship - это название элемента изображения в Assets.xcassets.

После создания спрайта вы можете добавить его в свою сцену (или на любой другой узел).

Откройте GameScene.swift , удалите все содержимое и добавьте следующие

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

Теперь нажмите CMD + R в Xcode, чтобы запустить Simulator.

введите описание изображения здесь

Подкласс SKSpriteNode

Вы можете подклассифицировать SKSpriteNode и определить собственный тип спрайта.

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow