プレイヤーが緑色のボックスに当たったらシーンを変更しようとしていますが、シーンを次のレベルに変更する際に問題があります。私のプロジェクトでは、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) エラーは、 "独自の初期値内で使用される変数を" 言う
私はそれを試してみました。緑色のボックスを押すとアプリがクラッシュします。 「致命的なエラー:オプションの値をアンラップしている間に予期せぬ結果が発生しました」 – spencerv20
ファイルからシーンを作成しようとしているかどうかを判断する必要があります。あなたは2つを混ぜることはできません。私はあなたのコードを見ることから何をしようとしているのか分かりません。 – hamobi