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

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

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

http://img3.mukewang.com/639a8b99000189bb03270414.jpg

我正在使用 libGDX 引擎,因为这个问题我真的很沮丧。任何帮助表示赞赏!

非常感谢!


函数式编程
浏览 74回答 1
1回答

撒科打诨

要在 LibGDX 中以编程方式更改颜色,您需要使用带有白色像素的图像(png 或 jpg),您可以将图像分成两部分来实现此效果,一部分用于您不希望更改颜色的部分,另一部分用于你做的部分。这是一个例子:代码: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();    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java