Libgdx 即时绘制平滑环

Libgdx draws a smooth ring on the fly

我需要即时画一个环。但是在实践中,我用ShapeRenderer画了这么一个半径为32px,边框宽度为1px的小圆环,结果很难看。对比浏览器渲染结果,我给截图了

css:

libgdx:

  1. 如何像使用 CSS 一样快速绘制环。 (准备了大小不一的戒指贴图,违背了我的初衷)
  2. 如何绘制具有特定线宽的环,如使用 HTML5 canvas。

.numberCircle {
    border-radius: 50%;
     /* behavior: url(PIE.htc);  remove if you don't care about IE8 */

    width: 16px;
    height: 16px;
    /*padding: 8px;*/
    line-height: 16px;
    
    background: #fff;
    border: 1px solid #666;
    color: #666;
    text-align: center;
    
    font: 8px Arial, sans-serif;
}
<div class="numberCircle">0</div>
<div class="numberCircle">1</div>

您可能需要启用抗锯齿功能,它在您初始化应用程序时启用。摘自 :

在配置中启用抗锯齿:

对于桌面:

LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.samples = 2;
new LwjglApplication(new MyGdxGame(Helper.arrayList(arg)), config);

对于Android:

AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.numSamples = 2;
initialize(new MyGdxGame(null), config);

您可能还需要在应用程序中添加这些行:

Gdx.gl.glEnable(GL10.GL_LINE_SMOOTH);
Gdx.gl.glEnable(GL10.GL_POINT_SMOOTH);