2016-05-17 7 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(); 
} 

私はスプライトごとに手作業を手動で変更すると正常に動作します。しかし、.setColorはSpriteBatchでも動作しないようです。

答えて

0

sprite.draw(batch)を呼び出すと、バッチが設定されている色はすべて無視され、スプライトの色が使用されます。スプライトのすべてを消したい場合は、スプライトのすべてのアルファを変更する必要があります。

+0

これはかなり面倒です。前回は、画面を変更したときに手動ですべて消えました。だから私はバッチ色を設定することができます。ああ... ... –

+0

私はあなたがsprite.draw(バッチ)の代わりにbatch.draw(...)を使用できると信じています。私はそれが代わりに動作すると思います。 – Barodapride

+0

はい、TextureRegionsを使用することもできます。これは、そのメソッドのposirion、rotation、およびsizeも指定する必要があるためです。 – Tenfour04

関連する問題