我正在将一个简单的像俄罗斯方块一样的XNA应用程序移植到Android上,使用MonoGame和MonoGame;我遵循了此链接中建议的步骤,到目前为止,所有的东西都编译得很好,没有相关的警告。但是,在加载内容时,null参数异常会在我的程序中的以下位置中断程序:
protected override void LoadContent() {
// ...
_font = Content.Load<Microsoft.Xna.Framework.Graphics.SpriteFont>("SpriteFont1");
// ...
}在游戏构造函数类中设置了内容根目录:
public Game2 (){
Content.RootDirectory = "Content";
Content.RootDirectory = "Assets/Content"; // TEST.
//...}我试过几种组合,都没有用。
我还尝试将xnb文件设置为Build属性中的内容和Android资产;只有在较新的.等。
不管怎样,我的问题是,我不太明白为什么,也不明白我应该怎么做。我对这个平台和XNA也很陌生,所以这很可能是一个新手问题,但事实是,在几个小时后,我的头和拳头对着显示器/键盘,我觉得卡住了,需要你的帮助。
发布于 2012-06-21 11:28:31
MonoGame (2.5.1)在ContentManager.Load中为SpriteFont类型抛出NotImplementedException。也没有解决同样的问题。我尽量不使用DrawString。
在Win32应用程序中加载纹理时,我使用:
Content.RootDirectory = @"../../Content";
var sampleTexture = Content.Load<Texture2D>("Sample.png");你甚至不能把它添加到解决方案中。
对于Andoind (MonoDroid)应用程序,必须将"Content“文件夹添加到解决方案中,并在"Sample.png”属性中设置"Andtoid“。
Content.RootDirectory = "Content";
var sampleTexture = Content.Load<Texture2D>("Sample.png");另请参阅:
http://monogame.codeplex.com/discussions/360468
http://monogame.codeplex.com/discussions/267900
https://stackoverflow.com/questions/11079744
复制相似问题