Всем Привет! У меня есть функция, которая через жесты, записывает последовательность перемещений через буквы в строку, которые должен совершить спрайт . А также функция touchesEnded(_ touches: Set, with event: UIEvent?), которая считывает эту же строку по первой букве. Вот часть кода:
while word != ""{
if word[word.startIndex] == "R" {
let moveSpriteToRight = SKAction.move(to: CGPoint(x: sprite.position.x+128, y: sprite.position.y), duration: 1)
sprite.run(moveSpriteToRight)
} else if word == "D" {
let moveSpriteToDown = SKAction.move(to: CGPoint(x: sprite.position.x, y: sprite.position.y-128), duration: 1)
sprite.run(moveSpriteToDown)
} else if word == "L" {
let moveSpriteToLeft = SKAction.move(to: CGPoint(x: sprite.position.x-128, y: sprite.position.y), duration: 1)
sprite.run(moveSpriteToLeft)
} else if word == "U" {
let moveSpriteToUp = SKAction.move(to: CGPoint(x: sprite.position.x, y: sprite.position.y+128), duration: 1)
sprite.run(moveSpriteToUp)
}
word.remove(at: word.startIndex)}
Simulator выполняет только последний SKAction, а по задумке, хотелось бы, чтобы Sprite проделал большой путь. К примеру, если word = “ULD”,то спрайт должен перемещаться по траектории сначала вверх(Up) , затем влево(Left) и вниз(Down). И каждый раз через жесты пользователь создает новые траектории, прекращение записи жестов происходит через touchesEnded. Спрайт их должен выполнять каждый раз.