Приложение XNA 4.0 внезапно закрывается при попадании в метод без каких-либо исключений - PullRequest
2 голосов
/ 31 мая 2011

Как видно из заголовка, у меня есть приложение 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 Ответ

1 голос
/ 31 мая 2011

Я собираюсь предположить, что ScreenManager - это класс, унаследованный от DrawableGameComponent, и вы получаете доступ к графическому устройству оттуда?Убедитесь, что где-то в конструкторе вашего класса Game вы инициализируете GraphicsDeviceManager (this).

Я думаю, что это 'GraphicsDevice', который статически захватывает ваш ScreenManager, который может быть неправильно инициализирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...