Nasıl bulunur? Bu hataları alıyorum ve nasıl düzeltileceğini bilmiyorum. Böyle sabit boyutlu SKScene oluşturmak istiyorum:SKScene
width: screenWidth
height: screenHeight/10
Ben doğru bir şekilde SKScene alt sınıfı için nasıl bilmiyorum.
Nasıl bulunur? Bu hataları alıyorum ve nasıl düzeltileceğini bilmiyorum. Böyle sabit boyutlu SKScene oluşturmak istiyorum:SKScene
width: screenWidth
height: screenHeight/10
Ben doğru bir şekilde SKScene alt sınıfı için nasıl bilmiyorum.
sınıf başlatıldı önce özelliklerine erişmeye çalışıyorsanız gibi bu oluyor. Eğer super.init
satırdan sonra, bu örneğin çalışacağız o .: Sadece düşünce
...
super.init(size: fixedSize)
self.name = name
self.buttons = buttons
düzenleme taşırsanız
, bu olsa bir istisna vardır ve ben sadece bu teyit ettik. Oyun alanı hoşlanmıyor, ama gerçek bir uygulama yapar:
sınıf 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)")
}
}
ben bu şekilde çözmüş:
init(buttons: Button) {
self.buttons = buttons
super.init()
let fixedSize = CGSize.init(width: screenWidth, height: screenHeight/10)
super.size = fixedSize
}
Ben "adı" kaldırıldı ı don nedeniyle Artık buna ihtiyacım var. self.buttons = buttons
'u değiştirdim çünkü super.init()
... bu retina vb sağlamak için ölçeklendirme kullanmayı unutmayın .. kaplıdır ... 'UIscreen.mainscreen(). scale' örn Bu kolları 2x @ 3x vs .. boyutlarında döndürür. .. UIScreen.mainScreen() bounds.size.height * UIScreen.mainScreen() ölçek return: –
Yani ben doğrudan kullanabilir? Yoksa gereksiz mi? –
Evet, aptal sorudan önce ayarlanması gerekiyor. –
hareketli ifadelerini çözdüm Eğer init uygulamasından önce uygulamak istediğiniz değerlere sahipseniz, o zaman 'static let myVar = 123' –
olarak atamak en iyisi orijinal yanıtımdaki duruma bir istisna ekledim. Oyun alanı neden çöktü, ama uygulama çalışır, ben hiçbir fikrim yok, ama sanırım bu değerlerin varsayılan değerleri çünkü varsayalım. ': –