Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 自上而下的游戏-检查、绘制敌人';s有障碍物的视线区域_Objective C_Algorithm_Math_Graphics - Fatal编程技术网

Objective c 自上而下的游戏-检查、绘制敌人';s有障碍物的视线区域

Objective c 自上而下的游戏-检查、绘制敌人';s有障碍物的视线区域,objective-c,algorithm,math,graphics,Objective C,Algorithm,Math,Graphics,我将需要的示例: 我用cocos2d画了一个CCTMXTiledMap,在那些瓷砖上我必须画洛杉矶三角形 考虑到障碍物,我如何测试玩家是否在三角形内? 我将如何绘制上述示例中的视线区域 顺便说一句,我不确定这是否应该发布在这里或gamedev上,请不要生气。您可能希望查看多边形算法中的点,例如所描述的光线投射算法 您可以分解三角形以考虑障碍物,或者只制作更复杂的多边形。您应该能够在网上找到满足您需要的实现 你可能还想看一看,从中获得一些灵感。您可以维护一个树状结构,一个根三角形(或支点),可以

我将需要的示例:

我用cocos2d画了一个CCTMXTiledMap,在那些瓷砖上我必须画洛杉矶三角形

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


顺便说一句,我不确定这是否应该发布在这里或gamedev上,请不要生气。

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

您可以分解三角形以考虑障碍物,或者只制作更复杂的多边形。您应该能够在网上找到满足您需要的实现

你可能还想看一看,从中获得一些灵感。您可以维护一个树状结构,一个根三角形(或支点),可以用来确定一个点是否在一般视线中,子对象(三角形)将障碍物考虑在内。这样,您可以快速消除更复杂的检查

在下面的图像中,深蓝色圆点很快被排除在进一步检查之外,因为它们不在根可视三角形内


试试这个姐妹网站:gamedev.stackexchange.com您的问题是cocos2d特定的还是您想要一个算法?您可能会更幸运地将此发布到gamedev上。我毫不怀疑这在游戏中被认为是一个“已解决的问题”;它与计算几何的性质密切相关。我还建议在这里使用[algorithm]标签,而不是[iphone],因为这个问题不是该设备特有的。@Josh Caswell说得好,我已经切换了标签。我之所以不考虑cocos2d标记,是因为我需要一些帮助来在屏幕上绘制区域:)