2009-05-18 46 views
0

我有一个从具有alpha通道的PNG加载的精灵。该图像包含一个不透明的磁盘,其余部分是透明的。XNA:仅将SpriteBatch.Draw(...)颜色应用于不透明像素

我想使用color参数SpriteBatch.Draw(...)来更改磁盘的色调。但是,默认的混合行为会将颜色应用于整个精灵,所以最终在着色盘周围形成不透明的方形轮廓。

有什么办法可以改变混合模式,以便透明像素不受color参数的影响吗?

回答

1

我从来没有见过这种情况发生,自从XNA开始以来,我一直在使用像这样的透明PNG。你在混合2D和3D吗?如果是这样,你的3D渲染设置可能会让SpriteBatch变得令人困惑,但我认为SpriteBatch应该为你正确设置这些设置。也许你使用的PNG图像有问题?

0

比尔,你是对的。我忘了清除其中一个PNG的背景。这个问题应该删除。

+0

不,不要删除它!这是StackOverflow的用途。如果有人遇到类似的问题,这个质量保证实际上可以将他们指向他们没有想到的方向。 – 2009-05-18 07:35:35