Пользовательские классы SKSpriteNode для использования в файле.sks?
Я делаю кастом SKSpriteNode
Класс, который я хочу использовать в своем .sks
файл. Я хочу это иметь @IBInspectable
имущество. Является ли это возможным? И как я могу реализовать его init(coder:)
метод или нет необходимости его реализовывать?
1 ответ
Нет, это невозможно использовать @IBInspectable
, который работает только с классами в редакторе раскадровки.
Вы можете создать свой собственный класс с init
и создать его из кода. Если вы хотите создать свой собственный объект из редактора сцен, вы ДОЛЖНЫ использовать init(coder:)
FUNC
вы можете иметь оба init в вашем классе на случай, если в какой-то момент вы захотите создать экземпляр вашего объекта в коде, а также создать файл 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().