2016-10-17 15 views
0

ゲームを作成しようとしていますが、再起動ボタンを押すとゲームシーンに切り替わるときに、このゲームシーンが正しく読み込まれません。それはエラーを返すでしょう:スレッド1 exc_bad_instruction(コード= exc_i386_invopサブコード= 0x0)。ゲーム全体が最初からうまくいきます(私がまだ死んでいない場合)が、私が死ぬと、私は再起動ボタンで別のシーンに行きます、そして、この再開ボタンが押されると、私は再びゲームに行くでしょう。私も右の背景を取得することはできませんなどシーン切り替えエラー

コード:

ゲームシーン(この部分でエラーが発生します)。これは、再起動のシーンです

func enemySpawn() { 

    let enemy = SKSpriteNode(imageNamed: "Enemy") 

    let minValue = self.size.width/8 
    let maxValue = self.size.width - 150 

    let spawnPoint = UInt32(maxValue - minValue) // HERE IS THE ERROR 

    enemy.position = CGPoint(x: CGFloat(arc4random_uniform(spawnPoint)), y: self.size.height) 

    enemy.physicsBody = SKPhysicsBody(rectangleOf: enemy.size) 
    enemy.physicsBody?.affectedByGravity = false 
    enemy.physicsBody?.categoryBitMask = physicsCatagory.enemy 
    enemy.physicsBody?.contactTestBitMask = physicsCatagory.bullet 
    enemy.physicsBody?.isDynamic = true 

    let action = SKAction.moveTo(y: -70, duration: TimeInterval(enemyMoveSpeed)) 
    let actionDone = SKAction.removeFromParent() 
    enemy.run(SKAction.sequence([action, actionDone])) 

    self.addChild(enemy) 
} 

var restartButton : UIButton! 

override func didMove(to view: SKView) { 

    scene?.backgroundColor = UIColor.white 

    restartButton = UIButton(frame: CGRect(x: 0, y: 0, width: view.frame.size.width/3, height: 30)) 
    restartButton.center = CGPoint(x: view.frame.size.width/2, y: view.frame.size.height/7) 

    restartButton.setTitle("Play Again", for: UIControlState.normal) 
    restartButton.setTitleColor(UIColor.black, for: UIControlState.normal) 
    restartButton.addTarget(self, action: #selector(StartViewController.restart), for: UIControlEvents.touchUpInside) 

    self.view?.addSubview(restartButton) 
} 

func restart() { 
    self.view?.presentScene(GameScene(), transition: SKTransition.crossFade(withDuration: 0.3)) 
    restartButton.removeFromSuperview() 
} 

誰かが私を助けてくれることを願っています! ありがとう!私が代わりにデフォルトコンストラクタの、GameSceneにサイズを渡す

let nextScene = GameScene(size: self.scene.size) 
     nextScene.scaleMode = SKSceneScaleMode.AspectFill 

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

...

+0

実際のデバイスで同じ問題が発生しましたか? – siarheibrazil

+0

7日間で最大10個のアプリID制限に達したため、今すぐテストできません。 –

答えて

0

私の個人的な印象は、(。配置されたシーン)以前からエラーが出るということですが、私は間違っている可能性があります。

+0

あなたの素早い答えをありがとうが、私はまだ同じエラーが発生しています:/ –

+0

あなたは正しいです!私はすべてのシーンでこれを変更しなければなりませんでした! –

関連する問題