game.batch.setColor(1,1,1,alpha)
我正在扩展游戏并实施Screen。所以游戏类是传递给游戏画面的类。然后在游戏画面中,当你碰到墙壁时,我正在这样做:
alpha -= delta;
if (alpha <= 0) {
alpha = 0;
}
game.batch.setColor(1, 1, 1, alpha);
if (alpha == 0) {
restartGame();
}
如果我手动更改每个精灵的transperency,它会正常工作。但似乎.setColor甚至不适用于SpriteBatch。
答案 0 :(得分:0)
当您调用sprite.draw(batch)
时,它会忽略批处理设置的任何颜色并使用Sprite的颜色。如果你想淡化每一个精灵,你必须改变每个精灵的alpha值。