首页 文章

Libgdx在飞行中画出一个光滑的环

提问于
浏览
0

我需要动态画一个戒指 . 但是,实际上,我使用 ShapeRenderer 绘制一个半径为32px且边框宽度为1px的小环,其结果很难看 . 与浏览器渲染结果相比,我给出了截图 .

CSS:

css

libgdx:

libgdx ring

libgdx ring2

  • 如何使用CSS动态绘制环 . (准备不同尺寸的戒指纹理,但这违背了我原来的意图) .

  • 如何使用HTML5画布绘制具有特定线宽的环 .

.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>

1 回答

  • 0

    你可能想要的是启用抗锯齿,它在初始化你的应用程序时启用 . 取自this answer

    在配置中启用抗锯齿:

    对于桌面:

    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);
    

相关问题