簡體   English   中英

具有線寬的Libgdx圓

[英]Libgdx circle with linewidth

我已經開始使用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();
}

OpenGL“線寬”API很蹩腳。 該標准僅要求支持寬度1.0,因此許多實現(特別是在移動設備中)不支持更多。 請參閱Libgdx gl10.glLineWidth()

您可以嘗試繪制兩個填充的光盤,兩個光盤都具有相同的中心。 第二個應該具有較小的半徑,並且應該以這樣的方式繪制到Pixmap,以將alpha設置為繪制的0。 這應該留下一個“胖”的圈子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM