Dessin transparent ShapeRenderer dans libgdx
J'ai dessiné un cercle rempli à l'aide de ShapeRenderer et maintenant, je veux tracer ce cercle comme dans la transparence. J'utilise le code suivant pour le faire: Mais le cercle n'est pas venue comme transparent. Aussi, j'ai vérifié th libgdx de l'API et du wiki, il est dit que, besoin de Créer CameraStrategy. A quelqu'un étaient confrontés au même problème avant? Si oui, veuillez me donner quelques indices. Merci à l'avance.
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();
}
- Si vous n'avez pas l'esprit de me demander, pourquoi voulez-vous dessiner un cercle transparent?
- essentiellement, j'ai besoin de comprendre comment puis-je utiliser ShapeRenderer pour afficher la transparence. Je ne veux pas utiliser un transparent texture ici pour cela. Donc, je voulais faire à l'aide de ShapeRenederer.
Vous devez vous connecter pour publier un commentaire.
Le code suivant fonctionne pour moi dans ce cas, peut-être que ça aidera quelqu'un d'autre:
shapeRenderer.begin()
mais il ne faut avantshapeRenderer.setColor()
.D'abord, nous devons permettre l'assemblage:
Et assurez-vous que vous ne faites pas appel
SpriteBatch.begin()
etSpriteBatch.end()
entre cette ligne de code et votreShaperender.drawSomething()
ligne de code. Je ne sais pas pourquoi, mais c'est ce qui fonctionne dans mon casGL10
avecGL20
pour les versions plus récentes de LibGDX.Bien, il n'est pas vraiment un point dans le dessin quelque chose de totalement transparent. Si vous avez envie de faire un demi cercle transparent, vous devez effacer le tampon de couleur par
glClearColor
avant chaque cadre et définirColor
composante alpha de0.5f
.Si vous n'avez pas effacer la mémoire tampon, après quelques rendre attire, le cercle serait de fusionner avec presque solide de couleur.
Seulement cela a fonctionné pour moi :