Box2D Lights

时间:2017-05-08 23:41:48

标签: java libgdx box2d raycasting box2dlights

我目前正在使用Box2D灯库和LibGDX开发游戏。

目前一切都很好,但是,我很难从ConeLight获取光线。

如果物体不在光线中,我希望停止渲染物体。有没有办法访问图书馆正在投射的光线,所以如果一个物体挡住了光线,我可以解决这个问题吗?

快速搜索JavaDocs和互联网没有产生任何结果。也许通过反思?
light.setContactFiltering()这样的方法存在,但它们只能阻止某些物体受到光线的影响。

我不希望光线投射自己来检测物体,而是尝试访问现有的光线投射以试图节省计算能力。

谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您可以使用来自灯光源的Box2D RayCasting来查看灯光的方向。如果情况正确,您也可以使用libGDX Cameras中内置的Frustum剔除

答案 1 :(得分:0)

经过一些研究,我意识到我在Light类中跳过了一个方法。

如果有人想检查点是否在灯光下,您可以使用light.contains(x,y)

希望这会派上用场。