我需要的例子:
我用cocos2d画一个cctmxtiledmap,在那些瓷砖上我必须画一个los三角形。
如何测试玩家是否在三角形内,并考虑到障碍物?
我如何画出像上面例子中那样的视线范围?
顺便说一句,我不确定这是应该贴在这里还是Gamedev上,别生气。
最佳答案
您可能希望查看多边形算法中的点,如所述的光线投射算法here。
你可以分解三角形来考虑障碍物,或者只做一个更复杂的多边形。你应该能够找到一个实现来满足你的在线需求。
您可能还需要查看this article以获得一些灵感。你可以维护一个树状结构,一个根三角形(或支点),它可以用来确定一个点是否在一般的视线范围内,同时考虑到孩子们(三角形)的障碍物。这样你就可以快速消除更复杂的检查。
在下面的图像中,深蓝色的点很快从进一步的检查中消除,因为它们不在根视图三角形内。