我正在使用 LibGDX 中的 Shape Renderer 绘制一条线,并且我在我的代码中使用正交相机,以便增加我使用的宽度
camera = new OrthographicCamera();
int lineWidth = 8; // pixels
Gdx.gl10.glLineWidth(lineWidth / camera.zoom);
现在,我得到了更宽的范围。但是当屏幕电源关闭然后再打开时,就会出现问题,线路又恢复正常。如何保持宽度不变?
我正在使用 LibGDX 中的 Shape Renderer 绘制一条线,并且我在我的代码中使用正交相机,以便增加我使用的宽度
camera = new OrthographicCamera();
int lineWidth = 8; // pixels
Gdx.gl10.glLineWidth(lineWidth / camera.zoom);
现在,我得到了更宽的范围。但是当屏幕电源关闭然后再打开时,就会出现问题,线路又恢复正常。如何保持宽度不变?
ShapeRenderer具有用于绘制粗线的方法rectLine 。它绘制一个旋转的填充矩形,较小的对边以传递给它的点为中心(作为坐标或作为Vector2对象)。该方法有参数width来设置线宽。
您可以在此处查看文档
例子:
shapeRenderer.rectLine(new Vector2(x1,y1),new Vector2(x2,y2),lineWidth);
正如你在这里看到的:
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);