Android Studio Libgdx精灵/纹理透明度

时间:2015-09-06 13:38:46

标签: android libgdx sprite transparency opacity

我需要更改纹理/精灵的透明度,我真的不知道该怎么做。有什么帮助吗?

2 个答案:

答案 0 :(得分:4)

我在这里看到两个解决方案 - 一个是直接在精灵中改变透明度:

    Sprite sprite = new Sprite( yourTexture );              
    Sprite otherSprite = new Sprite( yourOtherTexture );

    sprite.setAlpha(0.1f); // 0f is full transparent when 1f is full visible

    ...

    batch.begin();

    sprite.draw( batch ); //this one will be almost transparent
    otherSprite.draw( batch ); //this one will be normal

    batch.end();

您可以直接使用 Sprite 颜色进行操作:

    sprite.setColor( sprite.getColor.r, sprite.getColor.g, sprite.getColor.b, 0.1f);

但对我来说这似乎是一种愚蠢的方式。

我推荐的第二个是将 Sprite 包装成 Scene2d Actor类,例如 Image 。然后你仍然可以直接改变aplha,但你也可以使用Scene2d 动作机制,平滑地操纵actor的alpha(就像逐步改变alpha动画一样)。

Scene2d 操作都可以在此广泛描述,但我建议您在此处阅读:

答案 1 :(得分:0)

我将此添加到我的GameRenderer.java:

private void drawTapTapChuggy() {
    batcher.setColor(1, 1, 1, 0.5f);
    batcher.draw(AssetLoader.tapTapChuggy, 28, 89, (83 * 0.9f), (52 * 0.9f));
    batcher.setColor(1, 1, 1, 1.0f);
}