Как зациклить игру - PullRequest
       9

Как зациклить игру

0 голосов
/ 25 декабря 2018

Я создаю игру, и мне нужен набор полюсов, чтобы переместиться с правой стороны экрана влево.как только он дойдет до левой стороны, мне нужно сбросить полюса к началу и снова идти непрерывным циклом.Создание полюсов просто устанавливает положение x обоих полюсов в исходное начальное положение.Поляки движутся очень хорошо, проблема в петлеобразовании.Я не уверен, почему код ниже не будет работать.Я очень новичок в стремлении признать, что не совсем уверен, что делаю.

  movePole()
    let create = SKAction.run {
        () in
        self.createPoles()
        self.movePole()
    }
    let delay = SKAction.wait(forDuration: 10)
    let spawn = SKAction.sequence([create,delay])
    self.run(SKAction.repeatForever(spawn))

1 Ответ

0 голосов
/ 26 декабря 2018

Вот что вам нужно сделать:

  1. Скажите полюсам на определенное расстояние на определенное расстояние.
  2. Скажите полюсам, чтобы они вернулись к начальной точке.
  3. Повтор.

Как показано здесь:

let AnimationTime = 5
let PoleTravelDistance = view.frame.width
let MovePolesToLeft = SKAction.move(by: CGVector(dx: PoleTravelDistance, dy: 0), duration: AnimationTime)
let ReturnPolesToRight = SKAction.move(to: CGPoint(x: (POLESNODE.frame.width)/2, y: (POLESNODE.position.y)), duration: 0)
let PoleAnimationSequence = SKAction.sequence([MovePolesToLeft, ReturnPolesToRight])
POLESNODE.run(SKAction.repeatForever(PoleAnimationSequence))

Надеюсь, это поможет.

...