首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将SpriteFont导入MonoGame

如何将SpriteFont导入MonoGame
EN

Stack Overflow用户
提问于 2012-06-18 09:05:53
回答 2查看 4.6K关注 0票数 1

我正在将一个简单的像俄罗斯方块一样的XNA应用程序移植到Android上,使用MonoGame和MonoGame;我遵循了此链接中建议的步骤,到目前为止,所有的东西都编译得很好,没有相关的警告。但是,在加载内容时,null参数异常会在我的程序中的以下位置中断程序:

代码语言:javascript
复制
protected override void LoadContent() {
    // ...
    _font = Content.Load<Microsoft.Xna.Framework.Graphics.SpriteFont>("SpriteFont1");
    // ... 
}

在游戏构造函数类中设置了内容根目录:

代码语言:javascript
复制
public Game2 (){
Content.RootDirectory = "Content";
Content.RootDirectory = "Assets/Content"; // TEST.
//...}

我试过几种组合,都没有用。

我还尝试将xnb文件设置为Build属性中的内容和Android资产;只有在较新的.等。

不管怎样,我的问题是,我不太明白为什么,也不明白我应该怎么做。我对这个平台和XNA也很陌生,所以这很可能是一个新手问题,但事实是,在几个小时后,我的头和拳头对着显示器/键盘,我觉得卡住了,需要你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2012-06-21 11:28:31

MonoGame (2.5.1)在ContentManager.Load中为SpriteFont类型抛出NotImplementedException。也没有解决同样的问题。我尽量不使用DrawString。

在Win32应用程序中加载纹理时,我使用:

代码语言:javascript
复制
Content.RootDirectory = @"../../Content";
var sampleTexture = Content.Load<Texture2D>("Sample.png");

你甚至不能把它添加到解决方案中。

对于Andoind (MonoDroid)应用程序,必须将"Content“文件夹添加到解决方案中,并在"Sample.png”属性中设置"Andtoid“。

代码语言:javascript
复制
Content.RootDirectory = "Content";
var sampleTexture = Content.Load<Texture2D>("Sample.png");

另请参阅:

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

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

票数 0
EN

Stack Overflow用户

发布于 2012-06-21 13:21:33

我有一个图书馆,它支持MonoGame上的可变宽度字体(由BMFont生成)。不幸的是,它是一个呈现器,它周围还有其他代码。然而,基本的想法是非常简单的。您可以在这里查看装载机和网格生成器(给定一个字符串) 这里。此构建器还支持在多个页面上传播字符的字体。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11079744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档