用于.sks文件的自定义SKSpriteNode类?

时间:2017-08-21 12:58:36

标签: ios swift sprite-kit ibinspectable

我正在制作一个自定义SKSpriteNode类,我想在我的.sks文件中使用它。我希望它拥有@IBInspectable属性。可能吗?我如何实现其init(coder:)方法,或者不需要实现它?

1 个答案:

答案 0 :(得分:1)

不可以使用@IBInspectable,这只适用于情节提要编辑器中的类。

您可以使用init创建自定义类,并从代码中实例化它。如果要从场景编辑器中设置自定义对象,则必须使用init(coder:) func

如果您希望在某些时候在代码中实例化对象以及在场景sks文件中创建,那么您可以在类中同时使用init。

init() {

    super.init(texture: nil, color: .clear, size, CGSize.zero)

    setup()
}

required init?(code aDecoder: NSCoder) {

    super.init(code: aDecoder)

    setup()
}

func setup() {
    //add some setup code here
}

或者,如果您只想在场景文件中实例化对象,则可以消除正常的init()。