我正在绘制像这样的Texture2D
//background_texture is white in color
spritebatch.Draw(content.Load<Texture2D>("background_texture"),
new Rectangle(10, 10, 100, 100),
Color.Red)
纹理是白色的;但是,在屏幕上它显示为红色。
为什么绘制方法需要颜色?
如何简单地绘制纹理,只有纹理没有Color.something扭曲图形?
答案 0 :(得分:3)
看一下这里的文档: http://msdn.microsoft.com/en-us/library/ff433986.aspx
你想尝试Color.White,颜色的附加参数通常是指色调,而白色“色调”应该显示没有色彩的精灵
答案 1 :(得分:0)
Color.White是不必要的,因为在默认的精灵着色器中它看起来像这样:
PixelShader .... { ....
返回纹理*颜色; }
其中color是从spritebatch.Draw中的Color定义的Vertex着色器给出的Color ...如果它是null,black,它将创建不可见的sprite。整点是你设置每个顶点的顶点颜色,用作为精灵设置的纹理的乘法。
答案 2 :(得分:0)
Color.White不会改变图像的颜色。使用
spritebatch.Draw(content.Load<Texture2D>("background_texture"),
new Rectangle(10, 10, 100, 100),
Color.White);
而不是Color.Red,它应用了色彩 注意:小心。 Intellisense会想要制作这个颜色。小麦,所以一定要在击中空格之前输入前3个字母。