заставить спрайт двигаться быстро с помощью спрайтекита - PullRequest
0 голосов
/ 25 декабря 2018

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

override func touchesBegan(_ touches:     Set<UITouch>, with event: UIEvent?) {
    let actionUp = SKAction.moveTo(y: 1330, duration: 0.5)
    let actionDown =    SKAction.moveTo(y: 50, duration: 0.5)
    ball?.run(actionUp)
    ball?.run(actionDown)
    ball?.run(actionUp)
    ball?.run(actionDown)

    }

1 Ответ

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

Сразу после того, как мячу приказано двигаться вверх, прежде чем он сможет что-либо сделать, ему приказывают двигаться вниз, затем снова вверх и затем вниз.Видно только последнее действие moveDown, потому что после него нет других действий.

Вам необходимо SKAction.sequence, в противном случае четыре действия будут выполняться сразу одно за другим, допредыдущий даже заканчивается.

let sequenceOfActions = SKAction.sequence([moveUp, moveDown, moveUp, moveDown])
ball?.run(sequenceOfActions)
...