2012-06-30 12 views
6

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ą?

Odpowiedz

1

Spróbuj spritebatch.enableBlending(), jeśli wcześniej ją wyłączyłeś. Domyślnie powinna być włączona domyślnie.

29

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(); 
+0

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

+1

Oczywiście, musisz to zrobić. Właśnie pokazałem najważniejszą część kodu. – Nolesh

Powiązane problemy