GraphicsDevice является пустым в моем проекте Windows Game XNA

Я только что начал пытаться сделать простую игру с XNA 3.1, чтобы помочь мне изучить C# и XNA. Я столкнулся с определенной интересной проблемой, как бы то ни было. Во всех учебных руководствах каждый, как предполагается, передает GraphicsDevice при инстанцировании нового объекта spriteBatch как это:

spriteBatch = new SpriteBatch(GraphicsDevice);

Можно было бы даже сделать это:

GraphicsDevice objGraphics = new graphics.GraphicsDevice;
spriteBatch = new SpriteBatch(objGraphics);

где графикой является GraphicsDeviceManager. Однако, неважно, который версия я пробую, я всегда получаю ArgumentNullException, когда я пытаюсь передать объект GraphicsDevice конструктору spriteBatch. Почти каждое учебное руководство, которое я нашел, дает первый, и только один упомянул вторую опцию. Кто-либо еще столкнулся с подобной ошибкой или знает то, что могло вызывать это? Я работаю в Windows 7 x64 с Visual Studio 2008.

Править:

Я, кажется, нашел проблему. Я пытался выполнить тот код в конструкторе (который является, где я предположил, что он, как предполагалось, пошел). Я сделал немного поиска с помощью Google и нашел ответ здесь. Спасибо за справку.

1
задан mnuzzo 9 May 2010 в 03:36
поделиться

1 ответ

Я помещаю ответ здесь для полноты картины.

Код

spriteBatch = new SpriteBatch(GraphicsDevice);

Может быть выполнен только в методе LoadContent () класса Game. Я вставлял его в конструктор, после чего объект GraphicsDevice не был определен согласно одному из ответов на этот вопрос .

2
ответ дан 3 September 2019 в 00:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: