具有线宽的Libgdx圆

Joh*_*ard 5 java opengl libgdx

我已经开始使用libgdx并试图简单地制作一个具有相当厚的笔划的圆圈.到目前为止,我还没有发现任何中风.pixmap.setStrokeWidth()即使在API中,但似乎已被删除(?),并且Gdx.gl10.glLineWidth(width);没有效果.我怎样才能改变线条的行程?这是我当前代码的片段:

@Override
public void create() {
    w = Gdx.graphics.getWidth();
    batch = new SpriteBatch();
    pixmap = new Pixmap(2 * w, 2 * w, Pixmap.Format.RGBA8888);
    pixmap.setColor(Color.BLACK);

    pixmap.drawCircle(w, w, w);
    texture = new Texture(pixmap);
    pixmap.dispose();

    sprite = new Sprite(texture);
}

@Override
public void render() {
    Gdx.gl.glClearColor(1, 1, 1, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.begin();
    sprite.setPosition(-w / 2, -w);
    sprite.draw(batch);
    batch.end();
}
Run Code Online (Sandbox Code Playgroud)

P.T*_*.T. 6

OpenGL"线宽"API很蹩脚.该标准仅要求支持宽度1.0,因此许多实现(特别是在移动设备中)不支持更多.请参阅Libgdx gl10.glLineWidth().

您可以尝试绘制两个填充的光盘,两个光盘都具有相同的中心.第二个应该具有较小的半径,并且应该以这样的方式绘制到Pixmap,以将alpha设置为绘制的0.这应该留下一个"胖"的圈子.