首页 > 解决方案 > 使用 SpriteBatch.setColor 进行精灵色调

问题描述

为什么这段代码不起作用?按钮应该是绿色的,但它们仍然是白色的。如果我使用纹理而不是 Sprite,代码可以完美运行。

game.interface_batch.begin();
...
game.interface_batch.setColor(0.596f, 0.984f, 0.596f, 1.0f);
exit_button_sprite.draw(game.interface_batch);
play_button_sprite.draw(game.interface_batch);
settings_button_sprite.draw(game.interface_batch);
game.interface_batch.setColor(1.0f, 1.0f, 1.0f, 1.0f);
...
game.interface_batch.end();

如何更改多个 Sprite 的颜色?对于超过 3 个精灵来说,这样的代码真的很繁重:

exit_button_sprite.setColor(0.596f, 0.984f, 0.596f, 1.0f);
play_button_sprite.setColor(0.596f, 0.984f, 0.596f, 1.0f);
settings_button_sprite.setColor(0.596f, 0.984f, 0.596f, 1.0f);
exit_button_sprite.draw(game.interface_batch);
play_button_sprite.draw(game.interface_batch);
settings_button_sprite.draw(game.interface_batch);

标签: javagraphicslibgdx

解决方案


推荐阅读