So I'm currently making a flappybird-like game using a tutorial and I have copied everything down the same but my pipes just keep spawning in the chosen spot and don't move horizontally at all. Any ideas on how to fix this? Here is my code so far:
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)
In your code snippet, you never call
This is necessary to execute an action and it might be the reason why things get only spawned, i.e. triggered with
Can you check if that's the case?