1

有没有一种简单的方法可以让默认的 XNA 方法SpriteBatch.DrawString用符号替换不在 spritefont 中的字符??我可以使用扩展方法,但我不确定如何实现它,因为没有办法事先知道字符是否不在 spritefont 中。

4

1 回答 1

2

此功能是内置的。打开.spritefont字体文件并向下滚动到此处:

<!--
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> -->

取消注释该行并将字符替换为您想要的字符,如下所示:

<DefaultCharacter>?</DefaultCharacter>

您也可以通过SpriteFont.DefaultCharacter在运行时修改属性来达到相同的效果。

如果需要,可以通过SpriteFont.Characters属性获取字体中可用字符的列表。

于 2013-08-12T12:07:23.017 回答