【问题标题】:How to make a .spritefont into Monogame?如何将 .spritefont 制作成 Monogame?
【发布时间】:2015-05-27 12:55:51
【问题描述】:

我试过 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 文件?

【问题讨论】:

  • 有人吗?真的很想要这个:/

标签: c# monogame


【解决方案1】:

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

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

  • 使用 XNA 创建一个新的游戏项目。
  • 将所需的 spritefont 添加到内容项目中。
  • 编译。
  • 转到输出文件夹并将 spritefont xnb 文件复制到您的单人游戏中(将其添加到 Content 文件夹中)。
  • 将其属性更改为“内容”和“如果较新则复制”以使其正常工作。

然后您就可以像在典型的 XNA 游戏中一样使用它了。

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

请记住,感谢XNA Refresh,您可以毫无问题地在 VS 2012+ 和 Windows 8 上安装 XNA。

【讨论】:

    【解决方案2】:

    Nahuel 的回答有效。但是,它不再需要。 MonoGame 3.3+ 将通过 Project Pipeline https://gamedev.stackexchange.com/questions/96793/monogame-3-3-font-loading 构建 XNB 文件

    【讨论】:

    • 它似乎不能正常工作。 (对我而言)构建的 XNB 始终为 22KB,并且始终显示 Arial 字体,无论 spritefont 内部是什么。
    猜你喜欢
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多