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