gpt4 book ai didi

c# - GraphicsDevice 在我的 XNA Windows 游戏项目中为空

转载 作者:行者123 更新时间:2023-12-04 06:53:27 26 4
gpt4 key购买 nike

我刚刚开始尝试使用 XNA 3.1 制作一个简单的游戏来帮助自己学习 C# 和 XNA。然而,我遇到了一个有趣的问题。在所有教程中,都应该在实例化一个新的 spriteBatch 对象时传递 GraphicsDevice,如下所示:

spriteBatch = new SpriteBatch(GraphicsDevice);

甚至可以这样做:

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

其中图形是 GraphicsDeviceManager。但是,无论我尝试哪个版本,当我尝试将 GraphicsDevice 对象传递给 spriteBatch 的构造函数时,我总是会收到 ArgumentNullException。我找到的几乎所有教程都给出了第一个,并且只有一个提到了第二个选项。有没有其他人遇到过类似的错误或知道是什么原因造成的?我在 Windows 7 x64 和 Visual Studio 2008 中工作。

编辑:

我好像找到问题了。我试图在构造函数中执行该代码(这是我认为它应该去的地方)。我做了一些谷歌搜索并找到了答案 here .感谢您的帮助。

最佳答案

为了完整起见,我将答案放在这里。

代码

spriteBatch = new SpriteBatch(GraphicsDevice);

只能在Game类的LoadContent()方法中执行。我将它放在构造函数中,此时尚未定义 GraphicsDevice 对象 according to one of the answers to this question .

关于c# - GraphicsDevice 在我的 XNA Windows 游戏项目中为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2796495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com