2016-05-17 63 views
0
game.batch.setColor(1,1,1,alpha) 

我延长游戏和实现屏幕。所以游戏类是传递给游戏屏幕的类。然后,在游戏屏幕,当你打我这样做墙:Libgdx - SpriteBatch阿尔法工作不

alpha -= delta; 
if (alpha <= 0) { 
    alpha = 0; 
} 
game.batch.setColor(1, 1, 1, alpha); 
if (alpha == 0) { 
    restartGame(); 
} 

它正常工作,如果我手动更改transperency每个精灵。但它似乎像.setColor甚至不适用于SpriteBatch。

回答

0

当你调用sprite.draw(batch),它忽略任何颜色批次设置为,并使用雪碧的颜色。如果你想淡出你的精灵中的每一个,你必须改变你的精灵的每一个的字母。

+0

哦,这是一个相当麻烦。上次我改变屏幕时手动淡化了所有内容。所以我虽然可以设置批量颜色。哦... –

+0

我相信你可以使用batch.draw(...),而不是sprite.draw(批次)。我认为这将起作用。 – Barodapride

+0

是的,但你还不如用TextureRegions因为你还必须指定posirion,旋转,大小为这个方法。 – Tenfour04