1

Я портирую простое приложение с тетрисом XNA для Android, используя Mono для Android и MonoGame; Я выполнил предложенные шаги в this link, и до сих пор все хорошо компилируется, и соответствующие предупреждения не срабатывают. Однако, при загрузке содержимого, исключение нулевого параметра нарушает программу в точке ниже в моей программе:Как импортировать SpriteFont в MonoGame

protected override void LoadContent() { 
    // ... 
    _font = Content.Load<Microsoft.Xna.Framework.Graphics.SpriteFont>("SpriteFont1"); 
    // ... 
} 

Корневой каталог содержимого устанавливается в классе игрового конструктора:

public Game2(){ 
Content.RootDirectory = "Content"; 
Content.RootDirectory = "Assets/Content"; // TEST. 
//...} 

И I попробовали несколько комбинаций, все безрезультатно.

Я также попытался установить файлы xnb как Content, так и Android Assets в свойстве Build Action; то, связанный, скопированный всегда, копироваться только если новее ... и т.д.

В любом случае, моя проблема заключается в том, что я действительно не понимаю, ПОЧЕМУ и КАК я должен сделать это. Я довольно новичок в платформе и в XNA, так что это может быть очень новичком, но правда через несколько часов ударяет головой и кулаками по монитору/клавиатуре, которые я чувствую, застрял и нуждаюсь в вашей помощи.

ответ

0

MonoGame (2.5.1) бросает NotImplementedException в ContentManager.Load для типа SpriteFont. Иметь такую ​​же проблему. Я пытаюсь не использовать DrawString.

Для загрузки текстур в приложении Win32 я использую:

Content.RootDirectory = @"../../Content"; 
var sampleTexture = Content.Load<Texture2D>("Sample.png"); 

Вы даже не должны добавлять его в раствор.

Для приложения Andoind (MonoDroid) вы должны добавить папку «Содержимое» в свое решение и установить «Andtoid Asset» в свойствах «Sample.png».

Content.RootDirectory = "Content"; 
var sampleTexture = Content.Load<Texture2D>("Sample.png"); 

Смотрите также:

http://monogame.codeplex.com/discussions/360468

http://monogame.codeplex.com/discussions/267900

0

У меня есть library, который поддерживает переменные ширины шрифты (генерируемые BMFont) на MonoGame. К сожалению, это средство визуализации, поэтому вокруг него есть и другой код. Однако основная идея очень проста. Вы можете взглянуть на loader здесь и на построение сетки (с учетом строки) here. Этот конструктор поддерживает шрифты, которые распространяют символы на нескольких страницах.

Надеюсь, это поможет!