我希望你能帮助我。 我有一个游戏,其中加载了透明纹理,并且应该在游戏开始时根据用户的选择(十六进制代码)进行着色。
我的游戏中有放置游戏人形的瓷砖(居中)。 瓷砖是50x50,我的png也是如此。它具有透明的背景,并且我的Figure的矢量具有应着色的透明材质。 看起来像这样:
我正在使用libGDX引擎,由于这个问题,我感到非常沮丧。 任何帮助表示赞赏!
非常感谢!
答案 0 :(得分: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();
}
}