У меня есть несколько формул, которые я использую для стрельбы по цели, но все выходит из строя, когда игрок перемещается из своей исходной позиции, и пуля достигает старой позиции игрока, как и предполагалось.
КогдаPlayerPosition == BulletPosition, как сделать так, чтобы пуля продолжала двигаться в правильном направлении, если она промахивается?Моя проблема в том, что когда пуля достигает того места, где она должна была пройти, она останавливается, и мне нужна новая формула, чтобы она продолжала двигаться.
Если это попадает в игрока, это легко, убрать предмет, но я не могукажется, найти хорошее решение.Ниже приведен код, сейчас он очень прост.
var movement = PlayerPosition - Position;
if (movement != Vector2.Zero)
movement.Normalize();
//var angle = Math.Atan2(movement.Y, movement.X);
Position += movement*_projectileMoveSpeed;