大家好,我正在研究一个简单的 Flash 游戏,并且有一些敌人在区域内巡逻。我设置了他们大约 35 度的视角和 150 像素的距离。问题是他们可以穿墙看到玩家。我该如何检查在守卫的视野和玩家之间是否有墙壁阻挡?
我考虑过光线追踪,但不知道如何实现它。我也考虑过在玩家和守卫之间绘制一个矩形,并对墙壁进行碰撞检测,但同样不知道如何实现。
有什么想法吗?
谢谢,
Max
回答:
只是一个想法。
保持你的代码不变,但做一个额外的测试。
如果你的现有代码找到了目标,再运行一个测试,用类似光线的方式检查他们之间是否有墙壁。
这样可以保留你现有的代码,并将光线测试的范围缩小到目标的宽度。