我正在开发一款策略游戏,每个单元有300-400张图像。根据其所有者玩家,单位将具有不同颜色的旗帜。但我的图像是基于蓝色的,所以我想将蓝色与其他颜色交换,如红色,粉红色,灰色等。你对这个怎么做了吗?
答案 0 :(得分:0)
SpriteBatch类有一个setColor()方法。当您准备好渲染Sprite时,您想要设置动态颜色,请执行以下操作:
batch.setColor(new Color(Color.RED));
sprite.draw(batch);
batch.setColor(old_batch_color);
您想要重置为旧的批处理颜色,以便新的SpriteBatch Color不会击中此特定精灵之后绘制的所有内容。您也可以通过在为任何特定Sprite调用sprite.draw(batch)之前始终设置正确的SpriteBatch颜色来避免这种情况,但如果您忘记这样做,我建议的方式会更安全。