自上而下的游戏 - 检查,用障碍物吸引敌人的视线区域

时间:2011-05-04 21:00:17

标签: objective-c algorithm math graphics

我需要的例子: enter image description here enter image description here

我正在使用cocos2d绘制CCTMXTiledMap,在那些瓷砖上我将不得不绘制LOS三角形。

我如何测试玩家是否在该三角区内,考虑到障碍? 我将如何绘制视线区域,如上例所示?

顺便说一句,我不确定这应该发布在这里还是游戏中,不要生气。

1 个答案:

答案 0 :(得分:2)

您可能希望查看多边形点算法,例如描述here的光线投射算法。

您可以分解三角形以解决障碍,或者只是制作更复杂的多边形。您应该能够在线找到满足您需求的实施方案。

您可能还想看一下this article的灵感。你可以保持一个像树一样的结构,一个根三角形(或支点),可以用来确定一个点是否在一般视线范围内,儿童(三角形)考虑到障碍。这样您就可以快速消除更复杂的检查。

在下图中,深蓝色点很快就会被进一步检查,因为它们不属于根视角三角形。

enter image description here