将敌人的方向瞄准玩家游戏制作工作室 2 DnD



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

听起来 X 和 Y 值需要更新到目标玩家对象的实例。我不确定使用 dnd,但使用 gml,您可以从对象本身访问它。例如,如果你想要玩家对象的"X"坐标,你可以使用这样的东西来获取它

objPlayer.x;

您可能需要使用全局变量,但如果它不适合您(不过请务必在 STEP 事件中更新它!另外,还需要注意的是,如果您有多个播放器对象(听起来像是这样(,那么您需要知道该播放器对象的实例 ID。为此,您可以使用如下所示的内容:

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

旁注:我也同意史蒂文的观点。我建议从尽可能简单开始,并在您让事情按照您想要的方式工作时增加复杂性。从长远来看,它会拯救你的理智,相信我。;)

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

因此,它需要检查所有玩家实例,看看哪个是最接近的,然后它选择要关注的玩家实例。这应该在步骤事件中完成,因为步骤事件会不断更新。

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

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

最新更新