2016-03-21 19 views
0

Oyuncunun yeşil bir kutuya vurduğunda sahneyi değiştirmeye çalışıyorum, sahneleri bir sonraki seviyeye değiştirirken sorun yaşıyorum. Benim projemde Level2Scene.swift ve Level2Scene.sks var Seviye tasarlamak için Level2Scene.sks kullanıyorum ve ben sahnede neler olduğunu kontrol etmek için Level2Scene.swift kullanın. Oyuncu yeşil kutuya vurduğunda sahip olduğum kodum. SKScene = Level2Scene (fileNamed:! Sahnesi .size)Spritekit swift isuue'da sahneyi değiştirme

func didBeginContact(contact: SKPhysicsContact) { 

    var bodyA = contact.bodyA 
    var bodyB = contact.bodyB 

    var transition: SKTransition = SKTransition.fadeWithDuration(1) 
    let scene: SKScene = Level2Scene(fileNamed: scene!.size) 


    if bodyA.categoryBitMask == 1 && bodyB.categoryBitMask == 2 || bodyA.categoryBitMask == 2 && bodyB.categoryBitMask == 1{ 

     self.view?.presentScene(scene, transition: transition) 


    } 

} 

sorun let sahnede olduğu hata

cevap

1

bu bana garip görünüyor "Kendi başlangıç ​​değerinden içinde kullanılan değişken" diyor ..

let scene: SKScene = Level2Scene(fileNamed: scene!.size) 

derleyici size exac anlatıyor

let scene: SKScene = Level2Scene(size: self.size) 
+0

Bunu denedim ve yeşil kutuyu vurmaya çalıştığımda uygulama çöküyor. “Ölümcül hata: beklenmedik bir şekilde isteğe bağlı bir değer çıkarılırken sıfır bulundu” diyor – spencerv20

+1

bir sahneyi oluşturmaya çalışıyorsanız karar vermeniz gerekir .. ya da boyutlar. ikisini karıştıramazsın. Senin koduna bakmaktan ne yapmaya çalıştığını bilmiyorum. – hamobi

1

deneyin sorunun ne olduğunu tly.

let scene = Level2Scene(size: scene!.size) 

sen Muhtemelen henüz oluşturmadıysanız sahnenin dışında bir şey gelen boyutunu kapmak gerekir Level2Scene oluşturmak için parametrelerinde scene değişkeni kullanıyoruz.

İlgili konular