当XNA 4.0应用程序在没有抛出任何异常的情况下命中一个方法时,它会突然关闭

本文关键字:一个 方法 突然 应用程序 XNA 情况下 异常 任何 | 更新日期: 2023-09-27 17:57:56

正如标题所说,我有一个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行时,它运行良好(尽管什么都不显示…)

当XNA 4.0应用程序在没有抛出任何异常的情况下命中一个方法时,它会突然关闭

我假设‘ScreenManager’是一个继承了‘DrawableGameComponent’的类,而您正从那里访问图形设备?请确保在Game类的构造函数中的某个位置初始化GraphicsDeviceManager(this)。

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