使用libgdx在正确的位置绘制填充的多边形

时间:2016-12-11 00:20:57

标签: java libgdx textures polygon lighting

我目前正在为我的游戏实施照明系统。 我的灯光类计算了一个多边形,让我的灯光可见。 我现在需要做的就是以这种形状剪掉我的轻盈纹理。

我试图通过创建polygonRegion并将其绘制到polygonSpriteBatch来实现此目的。

这就是我现在所做的事情:

    polygonRegion = new PolygonRegion(new TextureRegion(light), vertices,
            new EarClippingTriangulator().computeTriangles(vertices).toArray());

并在绘图步骤中:

    polygonSpriteBatch.setProjectionMatrix(lightHandler.tiledTest.cameraHandler.camera.combined);
    polygonSpriteBatch.begin();
    polygonSpriteBatch.draw(polygonRegion, 0, 0);
    polygonSpriteBatch.end();

多边形实际上工作正常并且按照预期但目前的问题是,实际的光纹理似乎不会出现在多边形中心的实际光线上,而是在左下角地图。所以我的浅色多边形实际上是黑色的,直到我把它放在那个角落里。

这是一个在地图上放置了一些光源的屏幕。请忽略绿线和黄线。这些用于调试多边形。

https://1drv.ms/i/s!AgucvuUdePpwhZg7rqn6pk7cYktf1A

这就是我希望我的轻多边形实际看起来的样子:

https://1drv.ms/i/s!AgucvuUdePpwhZg6Y8Y2JiKplGm6ig

我希望你能帮我解决这个问题!

对于我在这篇文章中所犯的任何错误道歉......这是我的第一个错误!

0 个答案:

没有答案