我已经开始使用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();
}
答案 0 :(得分:6)
OpenGL"线宽" API很蹩脚。该标准仅要求支持宽度1.0,因此许多实现(特别是在移动设备中)不支持更多。请参阅Libgdx gl10.glLineWidth()。
您可以尝试绘制两个填充的光盘,两个光盘都具有相同的中心。第二个应该具有较小的半径,并且应该以这样的方式绘制到Pixmap,以将alpha设置为绘制的0。这应该留下一个"脂肪"圈。