2
제목에 오류가 있습니다. 나는이 모든 것을 처음 접했어. 어떤 도움을 주셔서 감사합니다.오류 : "속성 'self.gameArea'가 super.init에서 초기화되지 않았습니다."
class GameScene: SKScene {
let player = SKSpriteNode(imageNamed: "shuttle")
let bulletSound = SKAction.playSoundFileNamed("torpedo.mp3", waitForCompletion: false)
let gameArea: CGRect
override init(size: CGSize) {
let maxRatio: CGFloat = 16.0/9.0
let playableWidth = size.height/maxRatio
let margin = (size.width - playableWidth)/2
gameArea = CGRect(x: margin - size.width/2, y: size.height/2, width: playableWidth, height: size.height)
super.init(size: size)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
무엇이 잘못되었는지에 대한 질문에 대답 한 것 같지만, 이것은 나보다 훨씬 현명한 누군가가 미래의 신속한 사용자의 영역, 특히 Sprite Kit Swift 사용자를 도울 수있는 영역입니다. 이 설계된 구조와 프로세스의 함의를 이해하면 Sprite Kit 게임, 객체, 속성 및 그 관계를 구성하고 형성하는 방법에 대한 지혜와 통찰력을 얻을 수 있습니다. 이것은 내가 잠깐 보았을뿐입니다. 그러나이 통찰력과 지혜는 Swift and Sprite Kit에서 무엇이든 구조화하고 수행하는 방법에 대해 생각할 때 매우 중요합니다. – Confused
@Confused OPs 오류가 초기화되지 않은 저장 속성과 관련되었습니다. 나는 방금 그에게 잘못된 점을 지적했다. 그가 더 깊이 들어가기를 원한다면 몇 차례 초기화 과정을 읽어야합니다. 여기 게임이나 SpriteKit에는 아무런 관련이 없습니다. 일반적으로 신속합니다. 간단한 질문, 간단한 대답 :) 그가 깊이에 대해 더 관심이 있다면 그는 익숙해지기 위해 문서를 읽어야한다. – Whirlwind
나는 OP와 그와 같은 Swift의 본질에 대해 그렇게 많이 이야기하고 있지는 않지만, 게임을 계획하고 게임을 만드는 방법에 대해 생각할 때 GameScene과 didMove (보기 ...) 등의 의미에 대해 더 많이 이야기하고 있습니다. 세상과 그 인물들과 조각들 모두는 개념에서 현실로 모입니다. Sprite Kit는이 첫 번째 gameScene을 기반으로하고 있으며이를 사용하여 작업을 수행하기 때문에 여러 번 초기화 된 내용을 여러 번 읽었습니다. 아마도 군단이 저입니다;) – Confused