如何继承 SKScene

How to subclass SKScene

我收到这些错误,但我不知道如何修复它们。我想像这样创建固定大小的 SKScene:

width: screenWidth
height: screenHeight/10

我不知道如何以正确的方式子类化 SKScene。

当您在 class 初始化之前尝试访问属性时会发生这种情况。

如果您将它移到 super.init 行之后,它将起作用,例如:

...
super.init(size: fixedSize)
self.name = name
self.buttons = buttons

edit 只是想,这有一个例外,我刚刚确认了这一点。 Playground 不喜欢它,但实际的应用程序喜欢它:

class someClass: NSObject {

    let a = 2
    var b = 3

    override init(){
        let c = self.a
        let d = self.b
        super.init()
        print("c: \(c), d:\(d)")
    }

    func foo(){
        print("bar \(a)")
    }

}

我是这样解决的:

init(buttons: Button) {
        self.buttons = buttons
        super.init()
        let fixedSize = CGSize.init(width: screenWidth, height: screenHeight/10)
        super.size = fixedSize
    }

我删除了 "name" 因为我不再需要它了。我移动了self.buttons = buttons因为需要在super.init()

之前设置