我正在使用C++和SFML开发一个人工智能系统,希望敌人能够跟随玩家。我将创建一个机制,使得敌人向玩家30帧之前的位置移动(因此它将不断更新)。但我的问题很简单,如何通过数学计算让敌人移动到特定的点?比如说,玩家在(230, 400),敌人在(100, 200),我该如何使用.move()函数和速度为3来让敌人移动到那个点?任何帮助都将是fantastic!
---以下是处理移动的当前代码更新---
---以下是处理移动的当前代码更新---
float angle = atan2(v2iEnemyPos[1].y - rsPlayer.getPosition().y, v2iEnemyPos[1].x - rsPlayer.getPosition().x);
angle =angle * 180 / (atan(1) * 4);
sf::Vector2f newpos((cos(angle))*2, (sin(angle))*2);
std::cout << newpos.x << " " << newpos.y << std::endl;
rsEnemy[1].move(newpos.x, newpos.y);
rwWinOne.draw(rsPlayer);
rwWinOne.display();
rwWinOne.clear();