2009-06-04 61 views
1

我正计划为XNA建立2D游戏库,并且我想包含的其中一个组件是用于调试目的的简单文本抽屉。现在,要使用SpriteBatch绘制文本,您需要一个.spritefont文件,它是一个xml格式的文件,而且这些文件似乎需要编译到一个单独的文件夹中。 A:不需要我随身携带外部文件(如果你的话)。我不喜欢用dll拷贝它,所以这里是我的问题: 我可以为XNA构建某种文本渲染器 A:可以将精灵字体嵌入到dll中,然后运行)和 B:不会强制我重写相当数量的基础(是否管理directx?xna的另一部分?)代码,使SpriteBatch.DrawString代码可以工作。来自DLL的XNA文字绘图

回答

2

难道你不只是要求一个SpriteFont被传入你的库,以便谁使用该库必须提供该组件?这似乎是最好的解决方案,因为那时他们可以使用任何他们想要的字体。 或者你可以在一个组件中编写基于给定字体名称生成spritefont xml文件的组件,因为它不是一个复杂的文件。 无视。我忘了XNA编译它的资源。

+0

第一种可能性:是的,可以工作,我想我必须这样做,如果没有别的工作,但我真的不希望这样做。毕竟,你理论上可以传递一个Wingdings字体,并得到一些完全不可读的东西!第二种可能性:除了所有我知道的与编译版本文件一起工作的xna代码(将其转换为二进制表示形式的xnb文件)之外,可以工作,并且从XNA获得动态授权是另一个工具。 – RCIX 2009-06-04 05:50:06

0

您可以预编译该项目,然后获取spritefont的xnb文件。然后将该文件作为内容文件添加到项目Content文件夹中。然后它应该与图书馆一起部署。但是,你需要为你想要支持的每个平台(xbox360,windows,zune)建立一个单独的xnb文件并部署正确的文件。

或者你为什么不创建一个XNA内容库项目?