我需要使用不同的spritefont的字體大小,必須爲每個大小創建新的spritefont?如何在XNA遊戲中更改字體大小?
6
A
回答
22
基本上可以。
有一個overloadSpriteBatch.DrawString
給你一個選項來縮放文本。
但是,這樣做的主要缺點是您的文本會在您縮放時變得像素化。如果你從更高的分辨率開始並縮小尺寸,隨着尺寸變小,你將開始獲得人工製品。
所以,如果你有尺寸的固定號碼,您應該建立在你所需要的不同大小的字體精靈多個版本。
如果你想用鋒利的邊緣不斷擴展性的文字,你也許可以考慮矢量字體。 Nuclex框架有some code to do that。
3
您還可以製作您需要的最大尺寸的字體,並從那裏縮小尺寸。
3
假設您正在使用的SpriteFont
被命名爲x.spritefont。 執行以下操作爲每個尺寸創建新的SpriteFont
。
- 從解決方案資源管理器打開x.spritefont文件。
- 轉到標記,並將其編輯成自己所需的字體大小。
- 要進行多尺寸的字體,複製該文件,並相應地改變 標籤。重命名文件與最後追加了 容易記憶的大小。
現在創建SpriteFont
的多個實例並相應地加載它們。
SpriteFont sf_s10;
SpriteFont sf_s14;
protected override void LoadContent()
{
sf_s10 = Content.Load<SpriteFont>("x_10");
sf_s14 = Content.Load<SpriteFont>("x_14");
//OTHER LOADS
}
動態改變fontSize
,請執行以下操作:
SpriteFont current_font;
protected override void Update(GameTime gameTime)
{
if(/*SOME_CONDITION_TO_DECREASE_SIZE*/)
current_font=sf_s10;
if(/*SOME_CONDITION_TO_INCREASE_SIZE*/)
current_font=sf_s14;
}
相關問題
- 1. 在PhaserJS中更改遊戲大小
- 2. 我如何在遊戲中更改「蠕蟲」的大小?
- 3. 更改Action Script 3遊戲中物體的大小
- 4. 如何在iOS中更改OHAttributedLabel的字體大小和字體大小?
- 5. 在XNA遊戲中progressBar
- 6. xna中的大型多人遊戲
- 7. 如何更改GridviewColumnHeader的字體大小?
- 8. 如何更改NSTableHeaderCell的字體大小
- 9. 如何統一更改字體大小?
- 10. 如何更改Tablayout字體大小
- 11. 如何更改JMeter的字體大小?
- 12. 如何更改uitextview字體大小
- 13. 如何更改JOptionPane的字體大小
- 14. 如何更改字體大小PreferenceScreen
- 15. 在Matlab圖中更改字體大小
- 16. 在圖例中更改字體大小
- 17. 在windows phone xna遊戲中使用TTF字體
- 18. 更改Highcharts字體大小
- 19. getOrgChart字體大小更改
- 20. 更改字體大小
- 21. rtf更改字體大小
- 22. 字體大小更改
- 23. NSAttributedString更改字體大小
- 24. 更改字體大小macvim?
- 25. CFDocumentItem - 更改字體大小
- 26. 如何更改drupal7文章中的字體和字體大小?
- 27. 如何更改Php Gd中的字體和字體大小?
- 28. 如何在使用字體真棒時更改字體大小?
- 29. 如何更改字體大小,而不更改CSS中按鈕的大小
- 30. 在matplotlib中,如何更改單個數字的字體大小?