问题描述
||
如标题所示,我有一个XNA应用程序,当它命中某个应用程序时会突然关闭,但没有显示任何错误,因此我不知道如何开始调试它。代码非常简单-我只是在玩XNA并尝试渲染一个简单的三角形-所以我无法想象它为什么停止。正在运行的代码是
VertexPositionColor[] vertices;
public Terrain()
{
vertices = new VertexPositionColor[3];
vertices[0].Position = new Vector3(-0.5f,-0.5f,0f);
vertices[0].Color = Color.Red;
vertices[1].Position = new Vector3(0,0.5f,0f);
vertices[1].Color = Color.Green;
vertices[2].Position = new Vector3(0.5f,0f);
vertices[2].Color = Color.Yellow;
}
public void Draw(GameTime gameTime)
{
ScreenManager.GraphicsDevice.DrawUserPrimitives<VertexPositionColor>(
PrimitiveType.TriangleList,vertices,1,VertexPositionColor.VertexDeclaration);
}
并使用Draw()函数将其拧紧。当我删除DrawUserPrimitives行时,它运行正常(尽管什么也不显示...)
解决方法
我要假设\'ScreenManager \'是一个继承自\'DrawableGameComponent \'的类,并且您要从那里访问图形设备?确保在Game类的构造函数中的某处正在初始化GraphicsDeviceManager(this)。
我认为您的ScreenManager静态抓取的是\'GraphicsDevice \',可能未正确初始化。