自定义 SKSpriteNode 类 用于 .sks 文件?
custom SKSpriteNode classes for use in .sks file?
我正在制作自定义 SKSpriteNode
Class,我想在我的 .sks
文件中使用它。我希望它有 @IBInspectable
属性。可能吗?以及如何实现它的init(coder:)
方法,或者不需要实现?
不可以使用 @IBInspectable
,它只适用于故事板编辑器中的 classes。
您可以使用 init
创建您的自定义 class 并从代码实例化它。如果你想从场景编辑器中实例化你的自定义对象,你必须使用 init(coder:)
func
你可以在你的 class 中同时拥有两个初始化,以防你希望在某个时候在代码中实例化你的对象以及在场景 sks 文件中创建。
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()。
我正在制作自定义 SKSpriteNode
Class,我想在我的 .sks
文件中使用它。我希望它有 @IBInspectable
属性。可能吗?以及如何实现它的init(coder:)
方法,或者不需要实现?
不可以使用 @IBInspectable
,它只适用于故事板编辑器中的 classes。
您可以使用 init
创建您的自定义 class 并从代码实例化它。如果你想从场景编辑器中实例化你的自定义对象,你必须使用 init(coder:)
func
你可以在你的 class 中同时拥有两个初始化,以防你希望在某个时候在代码中实例化你的对象以及在场景 sks 文件中创建。
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()。