2016-12-08 8 views
0

私がスクリーンに触れると、鳥は直角に回転していますが、タッチが終わったらそこにとどまります。タッチが始まったときに鳥を回転させようとしたときとタッチが終了したとき(SceneKit)

私のゲームの壁は、やはり産卵を止めました!

ここに私のコードがあります。誰かが私が間違っていることが分かっていれば私に知らせてください:D。 非常に感謝します。ありがとう

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 


    if gameStarted == false{ 

     gameStarted = true 

     bird.physicsBody?.affectedByGravity = true 



     let spawn = SKAction.run({ 
      () in 

      self.createWalls() 

     }) 
     let delay = SKAction.wait(forDuration: 2.0) 
     let spawnDelay = SKAction.sequence([delay, spawn]) 
     let spawnDelayForever = SKAction.repeatForever(spawnDelay) 
     self.run(spawnDelayForever) 


     let distance = CGFloat(self.frame.width + wallPair.frame.width) 
     let movePipes = SKAction.moveBy(x: -distance - 50, y: 0, duration: TimeInterval(0.01 * distance)) 
     let removePipes = SKAction.removeFromParent() 
     moveAndRemove = SKAction.sequence([movePipes,removePipes]) 

     bird.physicsBody?.velocity = CGVector(dx: 0, dy: 0) 
     bird.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 35)) 

     let rotateUp = SKAction.rotate(byAngle: 0.2, duration: 0) 
     bird.run(rotateUp) 


    } 
    else{ 

     if died == true{ 

     } 
     else{ 
      bird.physicsBody?.velocity = CGVector(dx: 0, dy: 0) 
      bird.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 35)) 



     } 
    } 

    for touch in touches{ 

     let location = touch.location(in: self) 

     if died == true{ 

      if restartButton.contains(location){ 
       restartScene() 
      } 
     } 
    } 



override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) { 


    if gameStarted == false{ 
     gameStarted = true 

     bird.physicsBody?.affectedByGravity = true 

     let rotateDown = SKAction.rotate(byAngle: -0.2, duration: 0) 
     bird.run(rotateDown) 

    } 
} 

答えて

0

ここにはたくさんの情報はありませんが、私が見ているものからはありません。タッチすると、gameStartedをtrueに設定します。したがって、gameStartedがtrueであるため、touchesのif文は終了しません。

+0

私のコーディングを追加すれば、それが役立つでしょうか?あなたは私がtouchesEndedステートメントをすべきだと思いますか? – niX

+0

それが役に立つなら、私はタッチの残りのコードを追加しました! @Jaybit – niX

+0

死んだ場合の回転操作を追加する必要があった==真のステートメント。正しい方向に私を指してくれてありがとう! – niX

関連する問題