sprite-kit
SKSpriteNode (스프라이트)
수색…
통사론
편의 init (imageNamed name : String) // assets 카탈로그의 명명 된 이미지에서 SKSpriteNode 만들기
var position : CGPoint // SKNode 속성, SKSpriteNode에 상속 됨. 부모 좌표계에서 노드의 위치입니다.
func addChild (_ node : SKNode) // SKScene이 상속 한 SKNode 메서드입니다. 장면에 SKSpriteNode를 추가하는 데 사용됩니다. 또한 SKNode를 다른 SKNode에 추가하는 데 사용됩니다.
장면에 스프라이트 추가하기
SpriteKit에서 스프라이트는 SKSpriteNode
클래스 ( SKNode
에서 상속)로 SKNode
됩니다.
먼저 SpriteKit 첫 번째 게임 에서 설명한대로 SpriteKit 템플릿을 기반으로 새로운 Xcode 프로젝트를 만듭니다.
스프라이트 만들기
이제 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