Есть ли простой способ сделать метод по умолчанию XNA SpriteBatch.DrawString
символов-заменителей, которые не находятся в spritefont с значком ?
? Я мог бы использовать метод расширения, но я не уверен, как его реализовать, поскольку нет способа узнать, не был ли персонаж в spritefont заранее.Замените отсутствующие символы символом «?» character
0
A
ответ
1
Эта функциональность встроена. Откройте файл .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
.