SFML-弹丸向不同方向减速

问题描述 投票:0回答:1

我正在创建塔防游戏,我创建了一个程序,该程序从炮塔开始创建弹丸,并在敌人进入射击范围后立即将其发送给敌人。弹丸向敌人的方向移动,但在某些方向上弹丸或多或少地是快速的。这是代码:

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

我在做什么错?

c++ position game-physics sfml projectile
1个回答
0
投票

我找到了解决方案,这里是代码:

direction = enemyPosition - initialPosition;
ndir = direction / sqrt(pow(direction.x, 2) + pow(direction.y, 2));
velocity = ndir * speed;
pform.move(velocity);
© www.soinside.com 2019 - 2024. All rights reserved.