8

我已经为 2 张图像使用了纹理绘制,但背景图片变成了黑色。源图片是 png 并且它是透明的。我该如何解决这个问题?

如何渲染具有透明度的原始图像?

4

2 回答 2

32

尝试这个:

            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();
于 2012-10-25T23:01:22.843 回答
2

spritebatch.enableBlending()如果您之前禁用它,请尝试。不过应该默认启用。

于 2012-06-30T15:29:21.257 回答