代码之家  ›  专栏  ›  技术社区  ›  samm

Libgdx动态绘制平滑环

  •  0
  • samm  · 技术社区  · 7 年前

    我需要在飞行中画一个环。然而,在实践中,我使用 ShapeRenderer 画一个半径为32px、边框宽度为1px的小环,结果很难看。与浏览器渲染结果相比,我给出了屏幕截图。

    css:

    css

    libgdx:

    libgdx ring libgdx ring2

    1. 如何使用CSS快速绘制圆环。(准备不同尺寸的戒指纹理,但这违背了我的初衷)。
    2. 如何使用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 回复  |  直到 7 年前
        1
  •  0
  •   Johan    7 年前

    您可能想要的是启用抗锯齿,它是在初始化应用程序时启用的。摘自 this answer :

    在配置中启用防alising:

    对于桌面:

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