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