我打算为XNA构建一个2D游戏库,我想要包含的一个组件是一个简单的文本抽屉,用于调试目的。现在,要使用SpriteBatch绘制文本,您需要一个.spritefont文件,这是一个xml格式文件,这些文件似乎需要编译到一个单独的文件夹中。我不想用dll复制它,所以这是我的问题: 我可以为XNA构建某种文本渲染器 答:不需要我随身携带带有dll的外部文件(如果你可以将精灵字体嵌入到dll中那么有效)和 B:不强迫我重写相当数量的底层(是管理的directx?xna的不同部分?)代码,使SpriteBatch.DrawString代码有效。
答案 0 :(得分:2)
您是否可以要求将SpriteFont传递到您的库中,以便使用该库的人必须提供该组件?这似乎是最好的解决方案,因为他们可以使用他们想要的任何字体。 或者您可以在基于给定字体名称生成spritefont xml文件的组件中编写,因为它不是文件的复杂。忽略。我忘了XNA编译它的资源。
答案 1 :(得分:0)
您可以预编译项目,然后获取spritefont的xnb文件。然后将该文件作为内容文件添加到项目Content文件夹中。然后应将其与库一起部署。但是,你需要为你想支持的每个平台(xbox360,windows,zune)构建一个单独的xnb文件,并部署正确的文件。
或者你为什么不创建一个XNA内容库项目?