Java Pixmap圆形边框不';不会出现在libGDX html项目中

Java Pixmap圆形边框不';不会出现在libGDX html项目中,java,opengl,gwt,libgdx,Java,Opengl,Gwt,Libgdx,我正在用libGDX编写我的第一个项目,目前我正试图在背景上画一个透明的圆圈,上面有一个不透明的边框。 它在android桌面项目中按预期工作。但是,html项目不会呈现圆的边界 圆是一种使用像素贴图创建的纹理。由于无法为drawCircle方法设置strokewidth(为什么没有?;请参见),因此我将边界绘制为一个填充圆,上面还有一个圆: 创建纹理 Pixmap-Pixmap=新的Pixmap(半径*2+1,半径*2+1,格式为.rgba888); Pixmap.setblen(Blend

我正在用libGDX编写我的第一个项目,目前我正试图在背景上画一个透明的圆圈,上面有一个不透明的边框。 它在android桌面项目中按预期工作。但是,html项目不会呈现圆的边界

圆是一种使用像素贴图创建的纹理。由于无法为drawCircle方法设置strokewidth(为什么没有?;请参见),因此我将边界绘制为一个填充圆,上面还有一个圆:

  • 创建纹理

    Pixmap-Pixmap=新的Pixmap(半径*2+1,半径*2+1,格式为.rgba888);
    Pixmap.setblen(Blending.None);
    设置颜色(新颜色(1,1,1,1));
    pixmap.fillCircle(半径、半径、半径);
    设置颜色(新颜色(0,0,0,0.6f);
    pixmap.fillCircle(半径、半径、半径-边界宽度);
    纹理=新纹理(像素贴图);
    texture.setFilter(TextureFilter.Linear,TextureFilter.Linear);
    pixmap.dispose();

  • 绘图

    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT  (Gdx.graphics.getBufferFormat().coverageSampling ? GL20.GL_COVERAGE_BUFFER_BIT_NV : 0));
    
    // tell the camera to update its matrices.
    camera.update();
    game.spriteBatch.setProjectionMatrix(camera.combined);
    
    // begin the drawing process
    game.spriteBatch.begin();
    drawBackground();
    
    //circle gets drawn here
    game.spriteBatch.draw(texture, 50, 50);
    
    //end drawing process
    game.spriteBatch.end();
    
  • 有什么想法吗


    编辑:在Ubuntu 14.04上的Chrome(35.0.1916.153)和Firefox(30.0)上测试。有人能重现这个问题吗?

    在绘制圆之前,您需要禁用混合:

    pixmap.setBlending(Pixmap.Blending.None);
    pixmap.fillCircle(radius, radius, radius);
    

    如果生成的pixmap没有黑圈,是否会显示一个纯白色磁盘?(我怀疑没有)。当我忽略黑圈时,会显示纯白色磁盘。这可能是实现pixmap绘图的GWT后端中的一个错误。您可能会在badlogic论坛上获得更好的答案/解决方案。(如果你得到一个好的答案,一定要回来把你的答案放在这里!)我已经把我的问题贴在那里了,但到目前为止我还没有得到任何回复。