如何继承SKScene

时间:2016-04-06 16:47:16

标签: swift sprite-kit subclass

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

width: screenWidth
height: screenHeight/10

我不知道如何以正确的方式继承SKScene。

enter image description here

2 个答案:

答案 0 :(得分:2)

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

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

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

编辑只是想到,虽然有一个例外,我刚刚确认了这一点。游乐场不喜欢它,但实际的应用程序确实:

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

}

答案 1 :(得分:0)

我这样解决了:

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

我删除了“名字”,因为我不再需要它了。我移动了self.buttons = buttons,因为它需要在super.init()

之前设置