2017-01-01 3 views
0

그래서 저는 현재 튜토리얼을 사용하여 flappybird와 같은 게임을 만들고 있고, 모든것을 똑같이 복사했습니다. 그러나 내 파이프는 선택된 지점에서 산란을 계속하고, 전혀 수평으로 움직이지 않는다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 여기 내 코드는 지금까지 있습니다 :스위프트 3 - flappy bird 게임, 수평 파이프 문제 만들기

당신의 코드에서
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    if gameStarted == false { 
     gameStarted = true 

     Ghost.physicsBody?.affectedByGravity = true 

     let spawn = SKAction.run {()in 
      self.createWalls() 
     } 

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

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


     let jumpUpAction = SKAction.moveBy(x: 0, y:180, duration: 0.2) 
     Ghost.physicsBody?.velocity = CGVector(dx: 0, dy: 0) 
     Ghost.run(jumpUpAction) 
+0

질문에 대한 충분한 정보를 제공하지 않습니다. 어떤 자습서를 읽나요? 코드 스 니펫이 의도 한 것은 무엇입니까? –

+0

Jared Davidson이 flappy bird 튜토리얼을 보았습니다.이 코드 스 니펫은 파이프가 생성되고 오른쪽에서 왼쪽으로 이동하기 위해 유령이 점프하고 위아래로 움직이면됩니다. 하지만 내 파이프는 모두 같은 위치에 산란되며 노드는 'removeFromParent()'라인을 사용하여 자신을 제거하지 않습니다. 내가 원하는 건 파이프를 만들고 파이프를 오른쪽에서 왼쪽으로 부드럽게 움직이는 빠르고 쉬운 방법입니다. 감사합니다 – Enuff

답변

0

, 당신은이 작업을 수행하는 것이 필요하다

self.run(moveAndRemove) 

전화 결코 사물 만 양산받을 이유가 될 수있다, 즉, 트리거

self.run(spawnDelayForever) 

이 경우를 확인할 수 있습니까? 모든 고정

+0

고맙습니다. – Enuff

+0

여전히 같은 문제가 있습니다. 파이프는 서로 겹쳐서 산란하며 오른쪽에서 왼쪽으로 움직이지 않습니다. 파이프도 제거되지 않습니다. – Enuff

0

은 단순히 이동 블록 :

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

및 브래킷의 제 1 세트로 이동. 그래도 도움을 줘서 고마워! :)