libgdx Shaperenderer line ..如何绘制具有特定宽度的线条

时间:2013-09-26 09:08:48

标签: libgdx

我正在尝试使用libgdx形状渲染器绘制一条特定宽度的线。我遵循了link

问题是,如果我指定更多的线宽,即大于9,则不会显示增加的宽度。超过9我指定20或100像素,它将与9

具有相同的结果
shapeRenderer.begin(ShapeType.Line);
    shapeRenderer.line(50, 70, 0, 50, 200, 0, Color.BLUE, Color.RED);
    int lineWidth = 20; // pixels
    Gdx.gl10.glLineWidth(lineWidth / camera.zoom);
     shapeRenderer.end();

由于 沙基尔

4 个答案:

答案 0 :(得分:4)

  

查询支持的宽度范围和尺寸差异   支持范围内的宽度,使用参数调用glGet   GL_ALIASED_LINE_WIDTH_RANGE,GL_SMOOTH_LINE_WIDTH_RANGE,和   GL_SMOOTH_LINE_WIDTH_GRANULARITY。

Reference

为了避免设备特定的行为,我使用四核。从小纹理中绘制1x1的正方形,然后定位,缩放(取决于您想要绘制的线条的宽度和高度),颜色并旋转它。

答案 1 :(得分:0)

您应该使用ShapaRenderer.rectLine。您可以看到更详细的答案here

答案 2 :(得分:0)

使用此

shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
instead of shapeRenderer.begin(ShapeType.Line);

答案 3 :(得分:0)

用你想要的线宽替换 10

Gdx.gl.glLineWidth(10 / camera.zoom);

相关问题