如何将.spritefont变成Monogame?

时间:2015-01-25 15:27:09

标签: c# monogame

我已经尝试过XNA内容编译器,但它只是发出错误:

  

反序列化中间XML时出错。字符串必须只有一个字符长。

我的.spritefont文件是这样的:

<?xml version="1.0" encoding="utf-8"?>

<XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">
  <Asset Type="Graphics:FontDescription">
    <FontName>Miramonte</FontName>
    <Size>18</Size>
    <Spacing>0</Spacing>
    <UseKerning>true</UseKerning>
    <Style>Regular</Style>
    <CharacterRegions>
      <CharacterRegion>
        <Start>32</Start>
        <End>127</End>
      </CharacterRegion>
    </CharacterRegions>
  </Asset>
</XnaContent>

有没有办法为MonoGame制作.spritefont文件?

2 个答案:

答案 0 :(得分:3)

你可以找到一个教程(由我编写),详细解释如何在Monogame here中使用spritefonts。

但基本上,你需要做的就是:

  • 使用XNA创建一个新的游戏项目。
  • 将所需的spritefont添加到内容项目中。
  • 编译。
  • 转到输出文件夹并将spritefont xnb文件复制到您的monogame文件(将其添加到Content文件夹中)。
  • 将其属性更改为&#34;内容&#34;和&#34;复制如果更新&#34;这样才有效。

enter image description here

然后你可以像在典型的XNA游戏中那样使用它。

截至今天,我还没有找到另一种方法来加载它们而不需要XNA。声音文件也一样。您需要使用XNA提供的Content项目生成xnb文件。

请记住,由于XNA Refresh,您可以在VS 2012+和Windows 8上安装XNA而不会出现问题。

答案 1 :(得分:1)

Nahuel的回答有效。但是,不再需要它。 MonoGame 3.3+将通过项目管道https://gamedev.stackexchange.com/questions/96793/monogame-3-3-font-loading

构建XNB文件