gpt4 book ai didi

java - libGDX:根据用户的输入更改 PNG 的颜色

转载 作者:行者123 更新时间:2023-12-02 09:51:13 24 4
gpt4 key购买 nike

我希望你能帮助我。我有一个游戏,其中加载了透明纹理,并且应该根据用户在游戏开始时的选择(十六进制代码)进行着色。

我的游戏有放置游戏人物的图 block (居中)。瓷砖是 50x50,我的 png 也是如此。它有一个透明的背景,我的图形的 vector 有透明的东西,应该着色。它看起来像这样:

enter image description here

我正在使用 libGDX 引擎,由于这个问题我真的很沮丧。如有任何帮助,我们将不胜感激!

非常感谢!

最佳答案

要在 LibGDX 中以编程方式更改颜色,您需要使用具有白色像素的图像(png 或 jpg),您可以通过将图像分成两部分来实现此效果,其中一部分用于您不需要的部分不希望颜色发生变化,并且希望为您所做的部分改变颜色。这是一个例子:

Example color

代码:

public class ExampleGame extends InputAdapter {

SpriteBatch batch;
Color crownColor;

public ExampleGame() {
batch = new SpriteBatch();
crownColor = Color.WHITE;
}

@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
crownColor = Color.RED;
return false;
}

public void render(TextureRegion player, TextureRegion crown) {
batch.begin();
batch.setColor(Color.WHITE); // Else player will be affected by crownColor too
batch.draw(player, 0, 0);
batch.setColor(crownColor);
batch.draw(crown, 0, 0);
batch.end();
}
}

关于java - libGDX:根据用户的输入更改 PNG 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56312450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com