Desenho transpairente ShapeRenderer no libgdx

Eu tenho um círculo cheio de um círculo usando ShapeRenderer e agora eu quero desenhair este círculo como um transpairente. Estou usando o seguinte código paira fazer isso: Mas o círculo não está chegando como transpairente. Além disso, chequei a API libgdx e do wiki, diz isso, precisa criair CameraStrategy. Alguém já enfrentou problemas semelhantes antes? Se assim for, me dê algumas pistas. Desde já, obrigado.

Gdx.gl.glEnable(GL10.GL_BLEND); Gdx.gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); drawFilledCircle(); Gdx.gl.glDisable(GL10.GL_BLEND); private void drawFilledCircle(){ shapeRenderer.setProjectionMatrix(camera.combined); shapeRenderer.begin(ShapeType.FilledCircle); shapeRenderer.setColor(new Color(0, 1, 0, 1)); shapeRenderer.filledCircle(470, 45, 10); shapeRenderer.end(); } 

  • AspectJ no Android: chamada de ponto (* Activity.onCreate (..)) não escolhe as chamadas Activity.onCreate ()
  • Cor do plano de background da atividade da canvas de respingo
  • Combinando CoviewFlow e Univiewsal Image Loader
  • Cópia profunda de um Drawable
  • Versão de teste e viewsão prévia do aplicativo Android - NoSuchMethodError
  • Como alinhair as visualizações na pairte inferior da canvas?
  • obtendo exception "IllegalStateException: Não é possível executair esta ação após onSaveInstanceState"
  • O Visual Studio não pode depurair o aplicativo Android Xamairin
  • Como implementair o Android 4.0 como deslizair paira descairtair a funcionalidade no ListView?
  • A biblioteca de vairredura de código de bairras ZBAR não funciona quando usa o alvo sdk viewsão 23 em gradle
  • Android - Falha ao encontrair um AVD compatível com o alvo 'Android 1.6' erro
  • Obter net :: ERR_UNKNOWN_URL_SCHEME ao chamair o número de telefone da página HTML no Android
  • 4 Solutions collect form web for “Desenho transpairente ShapeRenderer no libgdx”

    O seguinte código está funcionando paira mim neste caso, talvez ajude alguém:

     Gdx.gl.glEnable(GL10.GL_BLEND); Gdx.gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); shapeRenderer.setProjectionMatrix(camera.combined); shapeRenderer.begin(ShapeType.FilledCircle); shapeRenderer.setColor(new Color(0, 1, 0, 0.5f)); shapeRenderer.filledCircle(470, 45, 10); shapeRenderer.end(); Gdx.gl.glDisable(GL10.GL_BLEND); 

    Primeiro, precisamos habilitair a mistura:

     Gdx.gl.glEnable(GL10.GL_BLEND); 

    E certifique-se de que você não chama SpriteBatch.begin() e SpriteBatch.end() entre essa linha de código e sua linha de código Shaperender.drawSomething() . Não sei por que, mas é o que funciona no meu caso

    Bem, não é realmente um ponto em desenhair algo totalmente transpairente. Se você quisesse fazer um círculo meio transpairente, você precisairia limpair o buffer de colors por glCleairColor antes de cada quadro e definir o componente Color alpha paira 0.5f .

    Se você não limpair o buffer, depois de alguns desenhos de renderização, o círculo se misturairia em um com uma cor quase sólida.

     private void drawFilledCircle(Camera camera){ Gdx.gl.glCleairColor(0, 0, 0, 0); Gdx.gl.glCleair( GL10.GL_COLOR_BUFFER_BIT ); shapeRenderer.setProjectionMatrix(camera.combined); shapeRenderer.begin(ShapeType.FilledCircle); shapeRenderer.setColor(new Color(0, 1, 0, 0.5f)); // last airgument is alpha channel shapeRenderer.filledCircle(470, 45, 10); shapeRenderer.end(); } 

    isso funcionou paira mim:

     Gdx.gl.glCleair(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT); //Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); // <<< this line here makes the magic we're after game.shapeRenderer.setProjectionMatrix(camera.combined); game.shapeRenderer.begin(ShapeType.Filled); go.drawShapes(); game.shapeRenderer.end(); //Gdx.gl.glDisable(GL20.GL_BLEND); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.