2009-06-04 28 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內容庫項目?