目录
追逐玩家
问题
您希望敌人追逐玩家。
解决方案
让敌人追踪玩家的第一步是确定敌人需要移动的方向。为了得到从A指向B的向量,你要减去:B - A。将结果归一化,你就有了一个方向向量。
这样一来,解决方法就很简单了。每一帧,将敌人的速度设置为指向玩家的方向。
velocity = (player.position - position).normalized() * speed
Godot的Vector2对象有一个内置的助手。
velocity = position.direction_to(player.position) * speed
但是,这样一来,敌人就可以在任何距离上追赶玩家,即使是很远的距离。为了解决这个问题,我们可以给敌人添加一个Area2D&