单机游戏纹理加载NullReferenceException



我有一个工作游戏,我从不同的类加载所有纹理。它适用于PC版。

现在,我正在尝试使用Monogame将其移植到win8。

如果我使用.xnb文件从Game1.cs加载纹理,它绝对可以正常工作。然而,当我试图通过使用不同的类来加载相同的纹理时,它不会。它在上给我一个NullReferenceException错误

GraphicsDevice.Clear(Color.Cornflowerblue);

HungryCoder:

我不知道你是如何从类中加载纹理的,然而,现在MonoGame还没有像你在构建中提供的那样的内容管道和PC的XNA Game(他们正在开发),因此,你不能以同样的方式添加图形文件。

在构建Windows 8 XNA游戏的演练中,我通过将Content.Load<>传递到类中的Initialize函数中,从自己的player类创建了Shooter播放器图形纹理类型和位置:

player.Initialize(Content.Load("Graphics\player"),playerPosition);

请注意,.xnb文件位于我项目中的Graphics文件夹中。

在我的背景中,我还通过将完整的ContentManager传递给我的background类的Initialize方法,从我的背景类创建了一个视差背景。

bgLayer1=新视差背景();bgLayer1.初始化(内容,"Graphics\bgLayer1",GraphicsDevice.Viewport.Width,-1);

这两个例子都适用于我的项目/游戏。

如果你感兴趣的话,已经在Windows8的MonoGame上发布了玩家代码示例,作为博客教程系列的一部分。当我完成后台的代码时,我还将添加后台的完整代码示例。希望这能有所帮助。http://blogs.msdn.com/tarawalker

最新更新