我在LibGDX中使用Shape Renderer绘制一条线,我在我的代码中使用正交相机,所以增加我使用的宽度
camera = new OrthographicCamera();
int lineWidth = 8; // pixels
Gdx.gl10.glLineWidth(lineWidth / camera.zoom);
现在,我得到更广泛的界限。但是当屏幕电源关闭然后再打开时,问题就出现了,线路再次成为正常线路。如何保持宽度不变?
答案 0 :(得分:14)
ShapeRenderer 具有 rectLine 方法,用于绘制粗线。它绘制一个旋转的填充矩形,其中较小的相对边以传递给它的点为中心(作为坐标或 Vector2 对象)。该方法使用参数 width 来设置线宽。
您可以查看文档here
示例:
shapeRenderer.rectLine(new Vector2(x1,y1),new Vector2(x2,y2),lineWidth);
答案 1 :(得分:1)
正如你在这里看到的:
libgdx Shaperenderer line .. How to draw line with a specific width
在这里:
Libgdx gl10.glLineWidth()
在这里:
Why Libgdx Gdx.gl10.glLineWidth(width); does not react to change projection properities
在shaperenderer中使用线宽并不是你想要达到目标的最好方法。
尝试使用1x1白色TextureRegion(您可以更改Batch稍后绘制的颜色),并使用您想要的宽度和高度绘制它:
batch.draw(region, x, y, width, height);