你好!我有一个敌人对象(oTier2),它每 3 秒钟会随机选择一个方向并移动到它那里。但是,我需要一种方法让它避免走过其他对象或墙壁的方法,可以是遇到墙壁的时候停下来,也可以是从不走向会让它被墙壁围住的方向。然而,因为我不能直接进行碰撞检测,我不确定如何做。由于我对游戏使命中的角度计算不是很熟悉,但是我知道了和角度有关的函数:angle_difference() 和 collision_line,听起来与此问题相关,但是我不知道如何应用它们。因此,感激您的帮助!

oTier2 Create:

随机
spd =随机范围(0.45,0.55)
ranx =随机范围(48,448)
rany =随机范围(1072,1488)
hp = 9
is_hit =假
move_count = -1
moveable =真

oTier2 Step:

随机

move_count++

然后move_count > 180 and moveable = 真时
  move_count = -1
  方向 = irandom_range(0,360)
  速度 = 1.5
  alarm[0] = 30

oTier2 Alarm[0]:

速度 = 0