Użyłem rysowania tekstury dla 2 obrazów, ale obraz tła staje się czarny. Obraz źródłowy jest png i jest przezroczysty. Jak mogę to rozwiązać?obraz tekstury libgdx przezroczysty render
Jak wyrenderować oryginalny obraz z przezroczystością?
Użyłem rysowania tekstury dla 2 obrazów, ale obraz tła staje się czarny. Obraz źródłowy jest png i jest przezroczysty. Jak mogę to rozwiązać?obraz tekstury libgdx przezroczysty render
Jak wyrenderować oryginalny obraz z przezroczystością?
Spróbuj spritebatch.enableBlending()
, jeśli wcześniej ją wyłączyłeś. Domyślnie powinna być włączona domyślnie.
Spróbuj tego:
spriteBatch.begin();
//background
seaTexture = new Texture(px);
Color c = spriteBatch.getColor();
spriteBatch.setColor(c.r, c.g, c.b, 1f); //set alpha to 1
spriteBatch.draw(seaTexture, 0, 0, 480, 320);
//foreground
c = spriteBatch.getColor();
spriteBatch.setColor(c.r, c.g, c.b, .3f);//set alpha to 0.3
spriteBatch.draw(blockTexture, 50, 100, 120, 120);
spriteBatch.end();
Musiałem najpierw wyczyścić ekran z tej linii 'Gdx.gl.glClear (GL20.GL_COLOR_BUFFER_BIT);' 'przed spriteBatch.begin()' aby zobaczyć efekty alfa za [instrukcje tutaj] (https://github.com/libgdx/libgdx/wiki/Spritebatch,-Textureregions--and-Sprites) – rockhammer
Oczywiście, musisz to zrobić. Właśnie pokazałem najważniejszą część kodu. – Nolesh