Xna 如何在没有颜色的情况下绘制spritebatch?

Xna 如何在没有颜色的情况下绘制spritebatch?,xna,2d,textures,draw,xna-4.0,Xna,2d,Textures,Draw,Xna 4.0,我正在画这样的纹理2D //background_texture is white in color spritebatch.Draw(content.Load<Texture2D>("background_texture"), new Rectangle(10, 10, 100, 100), Color.Red) 质地为白色;然而,在屏幕上它显示为红色 为什么绘制方法需要颜色? 如何简单地绘制纹理,只绘制纹理而不绘制颜色。有什么东西会扭曲图形?请查看此处的文

我正在画这样的纹理2D

//background_texture is white in color
spritebatch.Draw(content.Load<Texture2D>("background_texture"), 
     new Rectangle(10, 10, 100, 100),
     Color.Red)
质地为白色;然而,在屏幕上它显示为红色

为什么绘制方法需要颜色?
如何简单地绘制纹理,只绘制纹理而不绘制颜色。有什么东西会扭曲图形?

请查看此处的文档:


您想尝试Color.White,颜色的附加参数通常指色调,而白色色调应显示不带色调的精灵请查看此处的文档:


您想尝试使用Color.White,颜色的附加参数通常指的是色调,而白色色调应显示不带色调的精灵。白色无效,因为在默认精灵着色器中,它看起来如下所示:

像素着色器。。。。 {

返回纹理*颜色; }


其中颜色是由spritebatch.Draw中该颜色定义的顶点着色器提供的颜色。。。如果它是空的,黑色的,它将创建不可见的精灵。关键是,通过此设置,您可以将每个顶点的顶点颜色设置为您为“精灵”设置的纹理的乘法。

color.White无效,因为在默认的“精灵”着色器中,它看起来如下所示:

像素着色器。。。。 {

返回纹理*颜色; }


其中颜色是由spritebatch.Draw中该颜色定义的顶点着色器提供的颜色。。。如果它是空的,黑色的,它将创建不可见的精灵。关键是,通过此设置,您可以将每个顶点的顶点颜色设置为与为sprite设置的纹理相乘的颜色。

color.White不会更改图像的颜色。使用

spritebatch.Draw(content.Load<Texture2D>("background_texture"), 
 new Rectangle(10, 10, 100, 100),
 Color.White);
而不是颜色。红色,这适用于色调。
注意:小心。Intellisense希望将此颜色设为.Wheat,因此请确保在键入空格之前键入前3个字母。

Color.White不会更改图像的颜色。使用

spritebatch.Draw(content.Load<Texture2D>("background_texture"), 
 new Rectangle(10, 10, 100, 100),
 Color.White);
而不是颜色。红色,这适用于色调。
注意:小心。Intellisense将要制作这种颜色。小麦色,所以在你点击空格之前一定要键入前3个字母。

在我看来,需要颜色是很愚蠢的。为什么不使用另一个没有颜色参数的重载方法,这样我们就可以在这里有一些选项,不必要的Color.white有什么用?如果有人想要白色怎么办?但是谢谢你,你认为白色是什么颜色?在我看来,需要白色是很愚蠢的。为什么不使用另一个没有颜色参数的重载方法,这样我们就可以在这里有一些选项,不必要的Color.white有什么用?如果有人想要白色怎么办?但是谢谢你,你认为白色是什么?