我正在制作一款新游戏,我希望将自己的纹理用于文本。我遇到了这个名为SpriteFont 2.0的酷工具,它就像一个WYSIWYG编辑器,用于在XNA中为SpriteFont文件制作纹理文件。我做了这个字体:
但我的问题是,当我把它放入XNA时,字母之间有很多额外的空间。例如,这应该说,“这是一个测试”,但结果如下:
我的纹理文件有问题,或者我的编程需要做些什么。我刚刚在SpriteBatch
对象中使用了第一个DrawString方法。我也将纹理文件的内容导入更改为Sprite Font Texture。我不知道为什么文本在字符之间有这么大的空间。
答案 0 :(得分:4)
您可以在运行时更改SpriteFont对象的Spacing property。将其设置为负值,并查看字母是否更接近。
SpriteFont myFont = ...;
myFont.Spacing = -10;
或者,如果编辑器有字距调整设置,那就是你真正想要的。字距调整定义了字母之间的间距,如下所示:
如果您在屏幕上打印多条线(作为一个绘图调用),您还可能需要调整垂直高度LineSpacing property。