无法在 XNA4 中加载 spriteFont [英] Cannot load a spriteFont in XNA4

查看:30
本文介绍了无法在 XNA4 中加载 spriteFont的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 XNA,我已经到了需要加载字体的部分.很简单吧?

Im goofing around with XNA and I've come to the part where I need to load a font in. Easy enough right?

Font1 = Content.Load<SpriteFont>("Arial");

是我用来加载字体的代码.

Is the code that I'm using to load the font.

<?xml version="1.0" encoding="utf-8"?>
<!--
This file contains an xml description of a font, and will be read by the XNA
Framework Content Pipeline. Follow the comments to customize the appearance
of the font in your game, and to change the characters which are available to draw
with.
-->
<XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">
  <Asset Type="Graphics:FontDescription">

    <!--
    Modify this string to change the font that will be imported.
    -->
    <FontName>Arial</FontName>

    <!--
    Size is a float value, measured in points. Modify this value to change
    the size of the font.
    -->
    <Size>14</Size>

    <!--
    Spacing is a float value, measured in pixels. Modify this value to change
    the amount of spacing in between characters.
    -->
    <Spacing>0</Spacing>

    <!--
    UseKerning controls the layout of the font. If this value is true, kerning information
    will be used when placing characters.
    -->
    <UseKerning>true</UseKerning>

    <!--
    Style controls the style of the font. Valid entries are "Regular", "Bold", "Italic",
    and "Bold, Italic", and are case sensitive.
    -->
    <Style>Regular</Style>

    <!--
    If you uncomment this line, the default character will be substituted if you draw
    or measure text that contains characters which were not included in the font.
    -->
    <!-- <DefaultCharacter>*</DefaultCharacter> -->

    <!--
    CharacterRegions control what letters are available in the font. Every
    character from Start to End will be built and made available for drawing. The
    default range is from 32, (ASCII space), to 126, ('~'), covering the basic Latin
    character set. The characters are ordered according to the Unicode standard.
    See the documentation for more information.
    -->
    <CharacterRegions>
      <CharacterRegion>
        <Start>&#32;</Start>
        <End>&#126;</End>
      </CharacterRegion>
    </CharacterRegions>
  </Asset>
</XnaContent>

是我使用的 spritefont 文件.它位于 Content/Arial.spritefont.

is the spritefont file im using. its located at Content/Arial.spritefont.

无论我选择什么字体,都无法加载该字体.

Regardless of what font I choose, it is unable to load that font.

Error loading "Arial". File not found.

推荐答案

您发布的代码看起来不错,前提是您正在设置内容根目录(此行是默认模板的一部分):

The code you have posted appears fine, providing you are setting the content root directory (this line is part of the default template):

Content.RootDirectory = "Content";

并且假设您已将 .spritefont 文件正确添加到您的内容项目并且它正在正确构建.检查是否在可执行文件旁边的 Content 目录中创建了 Arial.xnb 文件(在 bin/Debugbin/Release 中) 取决于您的构建目标).

And providing you have correctly added the .spritefont file to your content project and it is building correctly. Check that an Arial.xnb file is being created in the Content directory beside your executable (in bin/Debug or bin/Release depending on your build target).

如果您仍然有问题,请尝试创建一个新的 XNA 项目,看看您是否可以在其中使用字体.

If you still have problems, try creating a fresh XNA project and seeing if you can get a font to work in that.

这篇关于无法在 XNA4 中加载 spriteFont的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆