SFML - Снаряд замедляется в другом направлении

Я создаю игру Tower Defense, я создал программу, которая создает снаряд, стартующий с башни, и посылает его во врага, как только он оказывается в пределах досягаемости. Снаряд движется в направлении противника, но на определенных направлениях снаряд более или менее быстр. Вот код:

//initialPosition is where the projectile is created. 
sf::Vector2f direction = enemyPosition - initialPosition;
projectile.move(direction.x * speed, direction.y * speed);

Что я делаю не так?


person Enchant3d    schedule 29.05.2020    source источник
comment
Этот код должен работать правильно, если время между сменами одинаково (смена = скорость * направление * дельта времени). Как вы управляете временем в игре? Показать больше кода.   -  person Dessus    schedule 30.05.2020
comment
Взгляните на это: stackoverflow.com/questions/52883445/   -  person Martin Sand    schedule 30.05.2020


Ответы (1)


Я нашел решение, вот код:

direction = enemyPosition - initialPosition;
ndir = direction / sqrt(pow(direction.x, 2) + pow(direction.y, 2));
velocity = ndir * speed;
pform.move(velocity);
person Enchant3d    schedule 31.05.2020