XNA 4.0应用程序在遇到方法时突然关闭而不会抛出任何异常

时间:2011-05-30 22:14:53

标签: c# windows-phone-7 graphics xna

正如标题所说,我有一个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, -0.5f, 0f);
        vertices[2].Color = Color.Yellow;
    }

    public void Draw(GameTime gameTime)
    {
        ScreenManager.GraphicsDevice.DrawUserPrimitives<VertexPositionColor>(
            PrimitiveType.TriangleList,
            vertices,
            0,
            1,
            VertexPositionColor.VertexDeclaration);
    }

它是Draw()函数,它将其搞砸了。当我删除DrawUserPrimitives行时,它运行正常(虽然没有显示......)

1 个答案:

答案 0 :(得分:1)

我将假设'ScreenManager'是一个继承'DrawableGameComponent'并且你从那里访问图形设备的类?确保你的Game类的构造函数中的某个地方正在初始化GraphicsDeviceManager(this)。

我认为你的ScreenManager静态抓取的'GraphicsDevice'可能没有正确初始化。