瞄准敌人朝向玩家的方向 game maker studio 2 DnD

targeting an enemy's direction towards a player game maker studio 2 DnD

我正在使用 game maker studio 2 创建地牢游戏作为一种编程体验,我正在尝试让敌人瞄准玩家。因为我不明白程序中的命令,所以我使用拖放来制作它。我将它的速度设置为 4 然后它检查是否存在一个实例(因为我有多种类型的播放器对象)然后将点方向设置为该播放器对象,但它只是开始转到屏幕的左上角。有谁知道我该如何解决这个问题?提前致谢!

检查多个实例中是否存在任何实例在 Gamemaker Studio 中有点棘手,因为它需要决定哪一个最接近。由于它不能做出那个决定,它似乎遵循一个默认点(左上角)。

所以它需要检查所有玩家实例,看看哪个是最接近的,然后选择要跟随的玩家实例。这应该在Step Event中完成,因为Step Event是不断更新的。

我对拖放不熟悉,所以恐怕不能给你举个例子。

首先检查以下机制是否适用于单个实例(玩家)。一旦成功,您就可以尝试使用多个实例。

听起来 X 和 Y 值需要更新为目标玩家对象的实例。我不确定 dnd 但使用 gml 你可以从对象本身访问它。例如,如果您想要播放器对象的 'X' 坐标,您可以使用类似这样的方法来获取它

objPlayer.x;

您可能需要使用一个全局变量,如果这对您不起作用(尽管一定要在 STEP 事件中更新它!)。此外,还有一点需要注意,如果您有多个播放器对象(听起来像您有),那么您将需要知道该播放器对象的实例 ID。为此,您可以使用如下内容:

players[i] = instance_create(xx, yy, objPlayer);

旁注:不过我也同意史蒂文的观点。我建议从这个开始尽可能简单,并在您按照您希望的方式工作时增加复杂性。相信我,它会在长期 运行 中拯救你的理智。 ;)