Je construis un exemple simple de tic-tac-toe avec LibGDX. J'ai des images simples: croix, cercle et planche, toutes png
créées avec GIMP avec un fond transparent.
Comment puis-je les rendre Texture
avec une transparence?
J'ai essayé avec la fonction d'activation GL10, mais cela ne semble pas fonctionner.
java
libgdx
lwjgl
transparency
Vokail
la source
la source
Réponses:
SpriteBatch # enableBlending
avant le rendu:
la source
Créez Sprite et affectez-lui une texture, puis utilisez Sprite setColor pour ajuster son alpha, comme ça,
et dans la boucle render () utilisez SpriteBatch
la source
Si vous mettez
au début de votre boucle render () devrait rafraîchir l'écran avec la couleur noire. Donc, si des images sont transparentes, elles seront visibles.
donc votre boucle render () pourrait ressembler à ceci
la source
J'ai également essayé de rendre un .png avec transparence. Avec la configuration de base (mélange non activé), le rendu n'était pas correct.
Je n'ai jamais activé le mélange, mais j'ai ajouté ceci:
Mon problème était que l'alpha n'a jamais été effacé. Ce qui signifie que si je rendais avec 0,1 alpha, il faudrait 10 images jusqu'à ce que l'alpha soit "empilé" jusqu'à 1. L'ajout de l'appel ci-dessus effaçait l'alpha, tout comme vous effaceriez la couleur.
Je sais que c'est une vieille question, donc les solutions étaient alors différentes. enableBlending devrait toujours fonctionner, mais je ne suis pas sûr que cela empêche le "stacking" d'alpha. Effacer les bits alpha est probablement le moyen le plus simple d'empêcher l'aspect solide.
Quant au rendu réel, c'est le même que toujours.
la source