Ich baue ein einfaches Tic-Tac-Toe-Beispiel mit LibGDX. Ich habe einfache Bilder: Kreuz, Kreis und Brett, alle png
mit GIMP mit einem transparenten Hintergrund erstellt.
Wie kann ich sie Texture
mit Transparenz rendern ?
Ich habe es mit der GL10-Aktivierungsfunktion versucht, aber sie scheint nicht zu funktionieren.
java
libgdx
lwjgl
transparency
Vokail
quelle
quelle
Antworten:
SpriteBatch # enableBlending
vor dem Rendern:
quelle
Erstellen Sie ein Sprite und weisen Sie ihm eine Textur zu. Passen Sie dann mit Sprite setColor das Alpha wie folgt an:
und in der render () Schleife SpriteBatch verwenden
quelle
Wenn Sie setzen
Am Anfang Ihrer render () -Schleife sollte der Bildschirm mit der Farbe Schwarz aktualisiert werden. Wenn also Bilder Transparenz enthalten, wird dies auffallen.
Ihre render () - Schleife würde also möglicherweise so aussehen
quelle
Ich habe versucht, eine .png-Datei auch mit Transparenz zu rendern. Bei der Grundeinstellung (Blending nicht aktiviert) wurde nicht richtig gerendert.
Ich habe das Mischen nie aktiviert, aber Folgendes hinzugefügt:
Mein Problem war, dass das Alpha nie gelöscht wurde. Das bedeutet, wenn ich mit 0,1 Alpha gerendert habe, würde es 10 Frames dauern, bis das Alpha wieder auf 1 "gestapelt" wurde.
Ich weiß, dass dies eine alte Frage ist, daher waren die Lösungen damals unterschiedlich. enableBlending sollte immer noch funktionieren, aber ich bin nicht sicher, ob dies das "Stapeln" von Alpha verhindert. Das Löschen der Alpha-Bits ist wahrscheinlich der einfachste Weg, um das solide Aussehen zu verhindern.
Das eigentliche Rendering ist das gleiche wie immer.
quelle