XNA:仅将SpriteBatch.Draw(...)颜色应用于非透明像素

时间:2009-05-18 00:44:34

标签: c# xna 2d

我有一个从PNG加载的精灵,它有一个alpha通道。该图像包含一个不透明的磁盘,其余部分是透明的。

我想使用color的{​​{1}}参数来更改磁盘的色调。但是,默认的混合行为会将颜色应用于整个精灵,因此我最终会在着色磁盘周围出现不透明的方形轮廓。

有没有办法更改混合模式,以便透明像素不受SpriteBatch.Draw(...)参数的影响?

2 个答案:

答案 0 :(得分:1)

我从来没有见过这种情况,从一开始我就一直在使用像这样的透明PNG。你在混合2D和3D吗?如果是这样,你的3D渲染设置可能会让SpriteBatch感到困惑,但我认为SpriteBatch应该为你正确设置它们。也许您正在使用的PNG图像有问题?

答案 1 :(得分:0)

比尔,你是对的。我忘了清除其中一个巴布亚新几内亚的背景。这个问题应该删除。