У меня проблема с моей игрой. Это стрелок сверху вниз, и если я нажимаю на мышь, пуля должна выстрелить в направлении, где была мышь.
Проблема в том, что с моей попыткой пуля будет быстрее, когда расстояние между игроком и мышью больше, и медленнее, когда расстояние меньше. Я хочу, чтобы эта скорость была постоянной, несмотря ни на что.
Вот как выглядит моя логика:
В конструкторе я даю пулю xDir и yDir:
b.xDir = (float64(mouseX) - b.x)
b.yDir = (float64(mouseY) - b.y)
Затем в функции обновления я умножаю его на deltaTime и bulles MovementSpeed и добавляю к соответствующей оси положения:
b.x += b.movementSpeed * dt * b.xDir
b.y += b.movementSpeed * dt * b.yDir
При такой логике скорость пули зависит от расстояния между мышью и игроком. Буду признателен за ответ, который не повлияет на скорость, но все равно будет идти в направлении щелчка мыши.
Заранее спасибо:)