我们在 iOS 上的 MonoGame 中将纯 Arial spritefont 作为 XNB 加载时遇到问题。我使用最新的开发分支尝试了这个。这些是在 Windows 上制作的,然后在 Xamarin Studio 中针对 iOS 部分进行跟进:
- 我们有一个 stub XNA 项目和一个内容项目
<MonoGamePlatform>iOS</MonoGamePlatform>
定义 - 我们还有一个
<Import>
指向MonoGame.ContentPipeline.targets
的语句 - 我们引用了
MonoGameContentProcessors.dll
在内容项目中 - 添加了带有
Content Processor
的 *.spritefont 文件设置为MonoGame SpriteFont
- 编译项目,并将生成的 XNB 复制到 iOS 项目中,构建操作设置为
Content
.
我在一个带有 Arial 9pt 的空 MonoGame 项目中尝试了这个,我在 Texture2D.cs 的第 228 行中遇到了一个异常,它正在检查 OpenGL 错误。
我们的游戏中还有其他字体被构建为 MonoGame Spritefont from Texture
那工作正常。但是我们不能对某些语言(尤其是中文)使用这种方法。
我发现其他人也有这个问题:https://monogame.codeplex.com/workitem/7452
有什么想法吗?字体目前可以在 iOS 上使用吗?
这是我编译的 XNB:https://dl.dropboxusercontent.com/u/3702398/Fonts.zip
更新:试过 Arial 9、12、14、16,因为我听说某些尺寸会导致问题。它们都不起作用。
最佳答案
我从讨论中找到了解决方案 here .
- 将语句放在XNA主工程中(不是内容 项目)
- 放入XNA主工程
- 投入XNA内容项目
我只在内容项目中设置了东西,这是错误的地方。 Tom Spilman 提到您根本不需要内容项目中的任何内容,但我只是留下它,因为它有效。
关于c# - MonoGame SpriteFont 无法在 iOS 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18857318/