Estou construindo um exemplo simples de jogo da velha com o LibGDX. Tenho imagens simples: cruz, círculo e quadro, todos png
criados com o GIMP com um fundo transparente.
Como posso renderizá-los Texture
com transparência?
Eu tentei com o recurso de ativação do GL10, mas parece não funcionar.
java
libgdx
lwjgl
transparency
Vokail
fonte
fonte
Respostas:
SpriteBatch # enableBlending
antes da renderização:
fonte
Crie Sprite e atribua Texture a ele. Em seguida, use Sprite setColor para ajustar seu alfa, assim,
e no loop render () use SpriteBatch
fonte
Se você colocar
no início do seu loop render () deve atualizar a tela com a cor preta. Portanto, se alguma imagem tiver transparência, será perceptível.
então seu loop render () possivelmente se pareceria com este
fonte
Tentei renderizar um .png com transparência também. Com a configuração básica (mistura não ativada), ela não foi renderizada corretamente.
Eu nunca ativei a mistura, mas adicionei o seguinte:
Meu problema foi que o alfa nunca foi resolvido. Ou seja, se eu renderizei com 0,1 alfa, levaria 10 quadros até que o alfa fosse "empilhado" de volta para 1. A adição da chamada acima limpou o alfa, assim como você limparia a cor.
Sei que essa é uma pergunta antiga, então as soluções eram diferentes. enableBlending ainda deve funcionar, mas não tenho certeza se isso impede o "empilhamento" de alfa. Limpar os bits alfa é provavelmente a maneira mais fácil de impedir a aparência sólida.
Quanto à renderização real, é a mesma de sempre.
fonte