java 如何使纹理透明?

jpfvwuh4  于 2023-04-19  发布在  Java
关注(0)|答案(1)|浏览(84)

我有增加透明纹理的方法,alpha = 0.3f。

public void setUpTransparent(float alpha){
        up += 1;
        rgbBatch = batch.getColor();
        if (up > 100){
            batch.setColor(rgbBatch.r, rgbBatch.g, rgbBatch.b, alpha);
            batch.draw(textureIcon, rectangleIcon.x, rectangleIcon.y);
        }
    }

我需要做一个透明的纹理。这个怎么做?

b1payxdu

b1payxdu1#

public void setUpTransparent(float alpha){
    Gdx.gl.glEnable(GL20.GL_BLEND);
    Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
    batch.begin();

    up++;
    rgbBatch = batch.getColor();
    if (up > 100){
        batch.setColor(rgbBatch.r, rgbBatch.g, rgbBatch.b, alpha);
        batch.draw(textureIcon, rectangleIcon.x, rectangleIcon.y);
    }
    batch.end();
    Gdx.gl.glDisable(GL20.GL_BLEND);
}

相关问题