我有一个工作游戏,我正在加载来自不同类的所有纹理。它适用于PC版本。
现在,我正尝试使用Monogame将其移植到win8。
如果我使用.xnb文件从Game1.cs加载纹理,它可以正常工作。但是,当我尝试使用不同的类加载相同的纹理时,它并没有。它在
上给出了NullReferenceException
错误
GraphicsDevice.Clear(Color.Cornflowerblue);
答案 0 :(得分:0)
HungryCoder:
我不知道你是如何从类加载纹理的,但是,现在MonoGame还没有像你在构建中提供的内容管道和用于PC的XNA游戏(他们正在研究它) )因此,您无法以相同的方式添加图形文件。
在构建Windows 8 XNA游戏的演练中,我通过传入Content.Load<>类中的Initialize函数,从我自己的Player类创建我的Shooter播放器图形。纹理类型和位置:
player.Initialize(Content.Load(“Graphics \ player”),playerPosition);
请注意.xnb文件位于项目中的Graphics文件夹中。
在我的背景中,我还通过将完整的Content Manager传递给我的Background类的Initialize方法,从我的后台类创建了一个parallaxing背景。
bgLayer1 = new ParallaxingBackground(); bgLayer1.Initialize(Content,“Graphics \ bgLayer1”,GraphicsDevice.Viewport.Width,-1);
这两个例子都适用于我的项目/游戏。
如果您有兴趣在Windows 8上将播放器代码示例发布为MonoGame上的博客教程系列的一部分。当我完成背景代码时,我还将为背景添加完整的代码示例。希望这可以帮助。 http://blogs.msdn.com/tarawalker