2016-03-21 9 views
0

プレイヤーが緑色のボックスに当たったらシーンを変更しようとしていますが、シーンを次のレベルに変更する際に問題があります。私のプロジェクトでは、Level2Scene.swiftとLevel2Scene.sksを持っています。私はLevel2Scene.sksを使ってレベルを設計し、Level2Scene.swiftを使ってシーン内で何が起こるかを制御します。ここで私のコードは、プレイヤーが緑色のボックスに当たったときに持っているコードです。スプライトキットのシーンを変更するisuue

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) 


    } 

} 

問題はLETシーンである:SKScene = Level2Scene(fileNamed:!シーン.size) エラーは、 "独自の初期値内で使用される変数を" 言う

答えて

1

これは私には奇妙に見えます。..

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

は、コンパイラはあなたがexac語っている

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

私はそれを試してみました。緑色のボックスを押すとアプリがクラッシュします。 「致命的なエラー:オプションの値をアンラップしている間に予期せぬ結果が発生しました」 – spencerv20

+1

ファイルからシーンを作成しようとしているかどうかを判断する必要があります。あなたは2つを混ぜることはできません。私はあなたのコードを見ることから何をしようとしているのか分かりません。 – hamobi

1

を試してみてください問題は何か

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

あなたはおそらく、あなたがまだ作成していないシーン以外からサイズを取得する必要がありますLevel2Scene を作成するためのパラメータでscene変数を使用しています。

関連する問題