サーチ…


構文

  • 便利なinit(imageNamed name:String)//アセットカタログの名前付きイメージからSKSpriteNodeを作成する

  • var position:CGPoint // SKNodeプロパティ、SKSpriteNodeによって継承されます。親座標系におけるノードの位置。

  • func addChild(_ node:SKNode)// SKSceneによって継承されたSKNodeメソッド。シーンにSKSpriteNodeを追加するために使用されます(SKNodeを他のSKNodeに追加するためにも使用されます)。

シーンにスプライトを追加する

SpriteKitでは、SpriteはSKSpriteNodeクラス( SKNodeから継承)で表されます。

最初に、SpriteKitテンプレートに基づいた新しいXcodeプロジェクトを作成します(最初のSpriteKitゲームを参照)

スプライトの作成

これで、 Assets.xcassetsフォルダにロードされたイメージを使用してSKSpriteNodeを作成できます。

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

XcodeのCMD + Rを押して、シミュレータを起動します。

ここに画像の説明を入力

SKSpriteNodeのサブクラス化

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