sprite-kit
SKSpriteNode(スプライト)
サーチ…
構文
便利な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