如果你看右上角,你会在雷达上看到敌人的视线。
我想知道什么是最有效或最简单的方法(小代码,相当准确)。不需要是完美的)来检测你的视线中是否有什么东西?我可能需要也可能不需要渲染它(我可能不会)。
我不知道公式,也不使用C#中的任何数学库/名称空间
-编辑-
基本上这是一个二维原型。没有什么是完美的,它将有可移动的相机,单位,它将只看左,右向下,而不是对角线。可能有一道墙挡住视线,但没有别的东西。另外,其他的敌人也不应该在他们进入的时候触发一个行动。
所以我真的需要一个源(敌人),一个dst (玩家),并考虑墙壁阻塞视觉。
790screen001.jpg
编辑-我最后用的是rect它已经足够好了,我能够在原型中完成其他的工作,然后编写射线广播代码。
发布于 2010-04-23 05:09:55
这真的取决于你的世界几何是如何设置的,但通常的方法是通过射线铸造。也就是说,你在自己和敌人(或你感兴趣的任何东西)之间画一条假想的线,并询问环境,看看是否有任何几何相交的线。
不同的世界几何学将有不同的光线投射方法(例如,BSP树将不同于门户系统,而门户系统又将与高地地形不同等等)。
https://stackoverflow.com/questions/2696338
复制相似问题