Monogame对象引用未设置为实例错误
本文关键字:实例 错误 设置 对象引用 Monogame | 更新日期: 2023-09-27 18:27:30
男生在这个问题上需要帮助一段时间。我用visual C#express 2010和一夫一妻制2.5编写代码,在windows中制作游戏,使用Texture2D为游戏加载一些图像并编译。但当我试图编译这个项目时,它会给我这个错误。对象引用未设置为对象的实例。
private static Game1 game;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
game = new Game1();
game.Run();//This line gives the warning
}
}
我尝试这个代码
Game1 game = new Game1();
game.Run();
但它没有起作用,仍然会出现这个错误。
对象引用未设置为对象的实例
我是错过了什么,还是应该安装一些东西来解决这个问题?
根据您提供的信息,听起来异常是从MonoGame的Run
方法中抛出的。
解决这个问题的第一步是获得更多关于原因的信息。最好的方法是在一个解决方案中从源和您的项目一起构建MonoGame。这样,当抛出异常时,调试器将在MonoGame中错误发生的确切位置中断,您可以使用调试器来确定问题所在。
下一个最好的方法是查看异常的详细信息,以获取堆栈跟踪。这至少会告诉您是什么方法导致了异常。从那里你可以在源代码中查找它,看看它是否提供了任何其他信息。
(对于这个特殊的异常,"对象引用未设置为对象的实例",堆栈跟踪的帮助较小,因为它是由.NET框架抛出的(可能是由于MonoGame中的一个错误),而不是由Mono Game本身显式抛出的(例如)API使用中的错误。)
如果我必须猜测原因(我确实这样做了),我猜您没有在Game1
类的构造函数中正确设置GraphicsDeviceManager
(请注意您的构造函数在Run
之前是如何运行的)。而且,MonoGame并没有检测到这种情况并抛出一个信息异常,而是继续努力,直到崩溃。
但这是假设其他一切都正常工作。这也可能是一个问题,例如,MonoGame由于任何原因无法初始化图形设备。或者其他很多事情,真的。。。
(另一种选择可能是尝试构建与XNA的比赛,看看结果如何。)
在我的Monogame版本中,默认项目总是这样开始的:
static void Main()
{
using (var myGame = new Game1())
myGame.Run();
}
这似乎奏效了。