接下來我們編寫一個在在屏幕中心顯示一些問候的XNA程序。而文本往往在Silverlight應用非常普遍,通常作為文字描或如何游戲或展示分數。這是一個“Hello,world”不能作為完整的XNA程序的研究或范例。
事實上,XNA沒有任何內置的字體。你可能會認為一個XNA的手機程序可以使用和Silverlight相同的本地字體,但事實并非如此。 Silverlight使用基于矢量的TrueType字體,但XNA不知道有這些外來的概念東西。在XNA,一切都是一個位圖,包括字體。
如果你要將你的特定字體包含在你的XNA項目中,則該字體必須作為包含每個字符位圖的集合嵌入到可執行文件中。XNA Game Studio (集成 Visual Studio) 可以常容易的嵌入的字體,但它會引發一些棘手的法律問題。除非法律允許可以分發嵌入的字體,大部分字體與 Windows 本身或 Windows 應用程序一起分發的,但這并不是商業上的。
為了幫助你解決這一法律困惑,微軟授權使用的某些字體公司專為讓您嵌入在您XNA方案中。在這里,他們是:
請注意,Pericles字體授權使用小寫字母,所以它可能只適合作標題。
從Visual Studio文件菜單選擇New 和Project。在對話框的左側,選擇Visual C#和XNA Game Studio 4.0。在中間,選擇Windows Phone Game(4.0),選擇位置,并輸入項目名稱XnaHelloPhone。
Visual Studio創建兩個項目,一個是程序和程序的其他內容。XNA程序通常包含的內容很多,主要是位圖和三維模型,但也適合字體。要添加字體到此程序,請右鍵單擊該項目項目內容(標有“XnaHelloPhoneContent(cintent)”,并從彈出式菜單中選擇Add 和 New Item。選擇Sprite Font,完成文件名作為SpriteFont1.spritefont,然后點擊Add。
單詞“sprite”是在游戲編程中的常見,通常是指一個小位圖,可以移動很快,像魔法森林中可能遇到的精靈。在XNA,甚至字體也是sprite。
你會看到SpriteFont1.spritefont顯示在內容目錄的文件列表了,你可以編輯XML文件的被描述的字體。
XNA Project: XnaHelloPhone File: SpriteFont1.spritefont (complete w/o comments)
<xnacontent xmlns:graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics"></xnacontent>
<asset type="Graphics:FontDescription"></asset>
<fontname>Segoe UI Mono</fontname>
<size>14</size>
<spacing>0</spacing>
<usekerning>true</usekerning>
<style>Regular</style>
<characterregions></characterregions>
<characterregion></characterregion>
<start></start>
<end>~</end>
標簽的字體名內你會看到Segoe UI Mono,但是你可以更改為其他字體是我前面列出。如果你想Pericles Light,放的全名在那里,但如果你想 Miramonte粗體或Pescadero粗體或Segoe UI Mono 粗體,只使用Miramonte或Pescadero或Segoe UI Mono,并輸入標簽之間的Bold樣式。您可以使用其他字體為粗體,但對其他字體,粗體將被合成,而Miramonte或Pescadero或Segoe UI Mono,你會得到真正的設計的字體。
Size標簽的指示字體的point大小。XNA在Silverlight中,你幾乎可以完全處理像素坐標和尺寸,但point與point之間,在XNA像素間的轉換是以96 DPI的顯示器為基礎。 14點的大小成為了在您XNA程序中18-2/3像素大小。這是非常接近Silverlight WindowsPhone中 15point20px的“標準”字號。
該文件的CharacterRegions部分表示你需要的Unicode字符的十六進制編碼范圍。默認設置從0x32到0x126包括所有的ASCII字符集的非控制字符。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
