2012-06-30 3 views
6

Я использовал рисование текстуры для 2 изображений, но фоновое изображение становится черным. Исходное изображение - это png, и оно прозрачно. Как я могу это решить?libgdx texture image transparent render

Как визуализировать исходное изображение с прозрачностью?

ответ

1

Попробуйте spritebatch.enableBlending(), если вы его отключили раньше. Должен быть включен по умолчанию, хотя.

29

Попробуйте это:

  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

мне нужно, чтобы очистить экран сначала с этой линии 'Gdx.gl.glClear (GL20.GL_COLOR_BUFFER_BIT);' 'до spriteBatch.begin()', чтобы увидеть альфа-эффекты за [инструкции здесь] (https://github.com/libgdx/libgdx/wiki/Spritebatch,-Textureregions,-and-Sprites) – rockhammer

+1

Конечно, вам нужно это сделать. Я просто показал самую важную часть кода. – Nolesh