6

我正在使用 LibGDX 中的 Shape Renderer 绘制一条线,并且我在我的代码中使用正交相机,以便增加我使用的宽度

camera = new OrthographicCamera();
int lineWidth = 8; // pixels
Gdx.gl10.glLineWidth(lineWidth / camera.zoom);

现在,我得到了更宽的范围。但是当屏幕电源关闭然后再打开时,就会出现问题,线路又恢复正常。如何保持宽度不变?

4

2 回答 2

17

ShapeRenderer具有用于绘制粗线的方法rectLine 。它绘制一个旋转的填充矩形,较小的对边以传递给它的点为中心(作为坐标或作为Vector2对象)。该方法有参数width来设置线宽。

您可以在此处查看文档

例子:

shapeRenderer.rectLine(new Vector2(x1,y1),new Vector2(x2,y2),lineWidth);
于 2015-09-23T17:42:54.797 回答
-1

正如你在这里看到的:
libgdx Shaperenderer line .. How to draw line with a specific width
and here:
Libgdx gl10.glLineWidth()
And here:
Why Libgdx Gdx.gl10.glLineWidth(width); 不会对更改投影属性做出反应

在 shaperenderer 中使用线宽并不是实现您想要实现的目标的最佳方式。

尝试使用 1x1 白色 TextureRegion(您可以稍后更改 Batch 绘制它的颜色),并使用您想要的宽度和高度绘制它:

batch.draw(region, x, y, width, height);
于 2014-01-09T06:41:23.690 回答