我是一个初学者到XNA和我与我的Windows Kinect的新尝试于是决定遵循教程:http://digitalerr0r.wordpress.com/2011/06/20/kinect-fundamentals-2-basic-programming/绘制到屏幕上
这样一个我注意到,后所有的颜色都呈淡蓝色。例如rgb 20,20,20的颜色看起来像深蓝色而不是深灰色。
我注意到GraphicsDevice.Clear()
正在使用Color.CornflowerBlue
。我尝试将它改为Color.Black
,果然所有的东西都变成了黑色。
GraphicsDevice.Clear(color)和绘制到屏幕上的颜色之间的关系是什么?
这是我画的功能:(按照要求,在回答的形式)
/// <summary>
/// This is called when the game should draw itself.
/// </summary>
/// <param name="gameTime">Provides a snapshot of timing values.</param>
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.Black);
spriteBatch.Begin();
spriteBatch.Draw(kinectRGBVideo, new Rectangle(0, 0, 640, 480), Color.White);
spriteBatch.DrawString(font, connectedStatus, new Vector2(20, 80), Color.Black);
spriteBatch.End();
base.Draw(gameTime);
}
尝试在[spriteBatch.Begin()]调用时更改[BlendState](http://msdn.microsoft.com/zh-cn/library/microsoft.xna.framework.graphics.blendstate_members.aspx) (http://msdn.microsoft.com/en-us/library/ff433698.aspx)方法。这决定了如何将颜色混合在一起绘制在彼此之上。 – 2012-07-31 06:28:16
不错!它的工作非常好,将其改为答案,我会接受它。哦,顺便说一下,你知道为什么使用BlendState.Opaque会导致文本显示为块。 – 2012-07-31 06:48:41