我需要更改纹理/精灵的透明度,我真的不知道该怎么做。有什么帮助吗?
答案 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);
}