所以,我正在制作一个游戏,你要在其中超越敌人。我不想让敌人仅向上、向下、向左、向右和以 45 度角移动,而是希望敌人以最短的直线路径接近玩家。这是我的代码:
public void moveEnemy() {
if (player.pos.x > enemy.pos.x) {
enemy.vel.x = 3;
}
if (player.pos.x < enemy.pos.x) {
enemy.vel.x = -3;
}
if (player.pos.y > enemy.pos.y) {
enemy.vel.y = 3;
}
if (player.pos.y < enemy.pos.y) {
enemy.vel.y = -3;
}
if (player.pos.x == enemy.pos.x) {
enemy.vel.x = 0;
}
if (player.pos.y == enemy.pos.y) {
enemy.vel.y = 0;
}
}
所以,它的作用是设置基本方向的速度。我该怎么做才能使它更准确?