Я получаю эти ошибки, и я не знаю, как их исправить. Я хочу создать SKScene с фиксированным размером, как это:Как подкласс SKScene
width: screenWidth
height: screenHeight/10
Я не знаю, как подкласс SKScene в правильном пути.
Я получаю эти ошибки, и я не знаю, как их исправить. Я хочу создать SKScene с фиксированным размером, как это:Как подкласс SKScene
width: screenWidth
height: screenHeight/10
Я не знаю, как подкласс SKScene в правильном пути.
Это происходит, как вы пытаетесь получить доступ к свойствам, прежде чем класс инициализируется.
Если вы перемещаете, что после super.init
линии, она будет работать например .:
...
super.init(size: fixedSize)
self.name = name
self.buttons = buttons
редактировать Просто подумал, есть исключение для этого, хотя и я только подтвердил это. Детская площадка не нравится, но фактическое приложение делает:
класса 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)")
}
}
Я решил таким образом:
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()
Что касается использования размеров экрана и т. Д. Не забудьте использовать масштабирование, чтобы обеспечить защиту сетчатки и т. Д. 'UIscreen.mainscreen(). Scale', например. эта ручка возвращает @ 2x @ 3x и т. д. размеры. –
Так что я могу использовать напрямую: вернуть UIScreen.mainScreen(). Bounds.size.height * UIScreen.mainScreen(). Scale? Или это избыточно? –
Да, глупый вопрос. Я решил преобразовать операторы –
Если у вас есть значения, которые вы хотите применить до начала, тогда лучше назначить как 'static let myVar = 123' –
Я только что добавил исключение из этого случая в своем первоначальном ответе. Что касается того, почему детская площадка падает, но приложение работает, я понятия не имею, но я предполагаю, что это потому, что значения имеют значения по умолчанию. –