Я начал писать простую игру, чтобы улучшить свои навыки SpriteKit в Xcode, используя быстрый язык. В моей игре есть только один спрайт, который меняет положение на месте, где я нажимал на экран. Я сделал это так:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
ZombieNode.run (SKAction.move(to: CGPoint(x: location.x, y: location.y), duration: 1))
}
}
Но есть только одна проблема, скорость моего спрайта зависит от того, где я нажал. Поэтому я понимаю, почему - потому что спрайт должен изменить местоположение за одну секунду, поэтому, если я нажимаю далеко от своего спрайта, скорость будет выше, если я нажимаю рядом, чтобы спрайт, скорость очень низкая. Поэтому мой вопрос - как сделать скорость такой же? Возможно, я должен использовать другую функцию вместо
ZombieNode.run (SKAction.move(to: CGPoint(x: location.x, y: location.y), duration: 1))
или, возможно, для этого есть математические формулы. Помогите, пожалуйста, как я могу сделать скорость одинаковой везде?