似乎没有办法更改代码中的字体大小或样式,对吧?似乎唯一的方法是复制字体文件并在程序启动时将它们全部加载?
谢谢
SpriteFonts 将带有样式、大小和其他参数的字体转换为基于像素的格式,以用作 XNA 中的纹理。这些像素是静态的,所以是的,没有办法改变它们,除非循环遍历每个像素。
然而,有缩放(虽然它看起来不会那么大缩放)以帮助进行所需的大小调整,而且您可以像您所说的那样,从相同的基本字体为不同的样式创建多个 SpriteFont 文件,并动态选择其中一个代码中的精灵字体“纹理”。
除此之外,对于真正的完全动态的运行时使用,您需要在内存中动态创建这些精灵字体纹理。这意味着您必须执行 SpriteFont Content Pipeline 项目所做的事情,但要在运行时执行。这在 WinForms 中是可能的,但据我所知,您显然正在使用的 WP7 并不是一个真正的选项。