1

テクスチャを別のサーフェスにレンダリングせずに、テクスチャのアルファ値を永続的に変更することはできますか?

4

2 に答える 2

4

Texture2D.GetData<Color>()アルファ値を使用しTexture2D.SetData<Color>()て上書きすることができます。

編集:

この方法は、事前に乗算されたアルファを持つテクスチャを使用する場合、少し扱いに​​くい場合があります。

于 2011-11-29T19:28:53.343 に答える
0

ゲームで透明度を変更する必要がある場合は、Color.Whiteに透明にしたい量を掛けるだけです。ピクセルの色の値は、描画関数に渡す色で既に乗算されているため、これには追加のオーバーヘッドはほとんどありません。ループごとに1つの追加フロップだけです。

spriteBatch.Draw(texture, position, sourceRect, Color.White * 0.5f, .......)
于 2011-11-30T06:20:52.953 に答える