Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xna 如何在运行时创建并立即能够使用spritefonts?_Xna_Runtime_Spritefont - Fatal编程技术网

Xna 如何在运行时创建并立即能够使用spritefonts?

Xna 如何在运行时创建并立即能够使用spritefonts?,xna,runtime,spritefont,Xna,Runtime,Spritefont,我想知道,在XNA应用程序中,是否可以选择字体、字体大小并在运行时立即使用它 如果无法使用内置的运行时方法,那么使用一些自动化软件(如autoit)在后台创建spritefont文件,然后在XNA应用程序中使用它而无需重新启动应用程序,可能会更容易(或更好,或更快) 我将主要在我自己的计算机上使用它来测试和挑选字体,所以如果它需要完整的VS安装以及XNA框架和任何其他东西,我可以接受。简单地说,这是可以做到的,但是你必须使用它才能加载spritefont。您可以在做任何事情之前制作两个sprit

我想知道,在XNA应用程序中,是否可以选择字体、字体大小并在运行时立即使用它

如果无法使用内置的运行时方法,那么使用一些自动化软件(如autoit)在后台创建spritefont文件,然后在XNA应用程序中使用它而无需重新启动应用程序,可能会更容易(或更好,或更快)


我将主要在我自己的计算机上使用它来测试和挑选字体,所以如果它需要完整的VS安装以及XNA框架和任何其他东西,我可以接受。

简单地说,这是可以做到的,但是你必须使用它才能加载spritefont。您可以在做任何事情之前制作两个spritefont(或者为您拥有的每种字体创建spritefont并将其添加到内容中),这样做会更简单。这是因为XNA处理spritefont的方式。正如您所看到的,SpriteFonts基本上是一个xml文件。最终的二进制文件不是这样的。最后的二进制文件是包含选定字体中每个字符的图像。这样,玩家不必安装字体来玩游戏,因此你可以用字体做一些很棒的事情,而用户不能使用字体(除非他撕开字体)


我还没有找到winforms和spritefonts的教程,但我认为模型版本只需要稍加修改就可以使用spritefonts。

这可能会有所帮助@davidsbro那是无可奈何的:P现在我被“错误类型的文件处理器”或其他错误所困扰,演示应用程序认为生成的文件是
Microsoft.Xna.Framework.Content.Pipeline.Graphics.FontDescription
类型,无法作为spritefont加载。我甚至在电脑上都找不到它,我自己也看不到它在自动生成什么。