所以,我需要在我的游戏中实现敌人的AI,为了实现这一点,我遵循了一些关于状态机的教程。在这些教程中,敌人的移动是通过计算方向、向量长度并修改敌人的x、y坐标来实现的。在我的情况下,敌人沿着路径移动,因为地图上有墙,它们会正常地碰撞到这些墙上。

然后,我尝试在状态机的step事件中使用一个寻径系统。

问题在于,敌人经常会穿过墙,即使我已经在mp_grid_add_instances()函数中指出它们作为障碍物。最初,我认为问题出在敌人比墙大,所以我缩小了敌人的图像到32x32像素,像墙一样大小,但问题仍然存在。然后,我想起了开始一个寻径系统每帧都会创建一个有错误坐标的寻径系统,导致敌人进入墙壁的几像素然后完全穿过它。所以我也尝试通过使用一个布尔变量来解决这个问题,使得敌人只有在完成前一个寻径系统后才能开始一个新的寻径系统。然而,我也没有找到解决方案。所以我想知道你们是如何解决这个问题的。我的确花了2-3天时间在上面,但什么也没有解决。