成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android游戲引擎libgdx使用教程3:繪制漢字與顯示中文

移動開發(fā) Android
不知大家有沒有注意過libgdx顯示漢字的問題,其實(shí)還是非常值得關(guān)注,試想如果libgdx不支持中文,那么使用起來就很不方便了。我們來看看BitmapFont類,這是有關(guān)文字繪制的。

不知大家有沒有注意過libgdx顯示漢字的問題,其實(shí)還是非常值得關(guān)注,試想如果libgdx不支持中文,那么使用起來就很不方便了。

我們來看看BitmapFont類,這是有關(guān)文字繪制的。看一下源碼:

  1. public BitmapFont ()  
  2. {  
  3.      this(Gdx.files.classpath("com/badlogic/gdx/utils/arial-15.fnt"), Gdx.files.classpath("com/badlogic/gdx/utils/arial-15.png"), falsetrue);  
  4. }    

這是默認(rèn)的構(gòu)造函數(shù),可以看出它加載了兩個文件arial-15.fnt和arial-15.png

arial-15.fnt文件的部分內(nèi)容:

  1. info face="Arial" size=15 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1   
  2. common lineHeight=18 base=14 scaleW=256 scaleH=256 pages=1 packed=0   
  3. page id=0 file="arial-15.png"   
  4. chars count=189   
  5. char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=14 xadvance=4 page=0 chnl=0     
  6. char id=255 x=0 y=0 width=8 height=19 xoffset=-1 yoffset=0 xadvance=7 page=0 chnl=0     
  7. char id=254 x=8 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  8. char id=253 x=17 y=0 width=8 height=19 xoffset=-1 yoffset=0 xadvance=7 page=0 chnl=0     
  9. char id=252 x=25 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  10. char id=251 x=34 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  11. char id=250 x=43 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  12. char id=249 x=52 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  13. char id=248 x=61 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  14. char id=247 x=70 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  15. char id=246 x=79 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  16. char id=245 x=88 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  17. char id=244 x=97 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  18. char id=243 x=106 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  19. char id=242 x=115 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  20. char id=241 x=124 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  21. char id=240 x=133 y=0 width=9 height=19 xoffset=1 yoffset=0 xadvance=8 page=0 chnl=0     
  22. char id=239 x=142 y=0 width=5 height=19 xoffset=0 yoffset=0 xadvance=3 page=0 chnl=0     
  23. …    
  24.    
  25. kernings count=374   
  26. kerning first=49 second=49 amount=-1   
  27. kerning first=121 second=44 amount=-1   
  28. kerning first=121 second=46 amount=-1   
  29. kerning first=119 second=44 amount=-1   
  30. kerning first=119 second=46 amount=-1   
  31. kerning first=118 second=44 amount=-1   
  32. kerning first=118 second=46 amount=-1   
  33. kerning first=114 second=44 amount=-1   
  34. kerning first=114 second=46 amount=-1   
  35. kerning first=89 second=44 amount=-2   
  36. kerning first=89 second=45 amount=-1   
  37. kerning first=89 second=46 amount=-2   
  38. kerning first=89 second=58 amount=-1   
  39. kerning first=89 second=59 amount=-1   
  40. kerning first=89 second=65 amount=-1   
  41. kerning first=89 second=97 amount=-1   
  42. kerning first=89 second=101 amount=-1   
  43.    
  44. …    

再看看arial-15.png:

Android游戲引擎libgdx使用教程3:繪制漢字與顯示中文

可以很明顯看出,libgdx的文字繪制是根據(jù)fnt文件獲取對應(yīng)文字的在png中的坐標(biāo)位置,然后截取圖片的相應(yīng)部分進(jìn)行繪制。

那么要讓libgdx支持中文思路就很簡單了,我們自己構(gòu)造fnt和png文件,其中包含我們要使用的中文即可。

作者給我們提供了一個對應(yīng)的工具:Hiero。

下載后雙擊運(yùn)行,在右側(cè)列表中選擇一個可以用的字體,然后輸入需要的中文,最好保留自動生成的英文和符號。

Android游戲引擎libgdx使用教程3:繪制漢字與顯示中文

在右側(cè)的Effects中可以設(shè)置效果:

Android游戲引擎libgdx使用教程3:繪制漢字與顯示中文

點(diǎn)File—Save as BMFont Files,生成兩個文件,將它們拷貝到asserts文件夾。

Android游戲引擎libgdx使用教程3:繪制漢字與顯示中文

使用

  1. bitmapFont = new BitmapFont(Gdx.files.internal("cf.fnt"), Gdx.files.internal("cf.png"), false);  

指定我們生成的文件作為繪制的參考,然后繪制:

  1. bitmapFont.draw(spriteBatch, "FPS" + Gdx.graphics.getFramesPerSecond(), 5, Gdx.graphics.getHeight() - 10);  
  2. bitmapFont.draw(spriteBatch, "祝大家光棍節(jié)快樂"0, Gdx.graphics.getHeight()/2-8);    

程序運(yùn)行效果:

Android游戲引擎libgdx使用教程3:繪制漢字與顯示中文

關(guān)于多行文字,可以調(diào)用

  1. public TextBounds drawMultiLine (SpriteBatch spriteBatch, CharSequence str, float x, float y)    

或者

  1. public TextBounds drawMultiLine (SpriteBatch spriteBatch, CharSequence str, float x, float y, float alignmentWidth,HAlignment alignment)
責(zé)任編輯:閆佳明 來源: jizhuomi
相關(guān)推薦

2013-12-04 13:30:45

Android游戲引擎libgdx教程

2013-12-04 17:27:10

Android游戲引擎libgdx教程

2013-12-04 16:07:27

Android游戲引擎libgdx教程

2013-12-06 10:31:14

Android游戲引擎libgdx教程

2013-12-06 09:59:53

Android游戲引擎libgdx教程

2013-12-04 17:14:57

Android游戲引擎libgdx教程

2013-12-06 10:12:49

Android游戲引擎libgdx教程

2013-12-04 16:28:29

Android游戲引擎libgdx教程

2013-12-06 10:22:42

Android游戲引擎libgdx教程

2013-12-06 10:35:28

Android游戲引擎libgdx教程

2011-07-18 11:23:29

iPhone 游戲 動畫

2012-12-24 09:07:09

iOSUnity3D

2011-07-18 10:53:09

2011-07-18 11:07:12

iPhone 游戲 引擎

2011-07-18 12:29:10

2011-07-18 11:39:58

iPhone 游戲 引擎

2014-06-03 09:35:19

Javalibgdx

2014-07-15 10:34:14

Android游戲引擎

2012-12-24 08:40:12

2014-07-17 11:10:19

Android開源游戲引擎
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久久免费 | 天天射天天干 | 亚洲乱码一区二区三区在线观看 | 黄色大片网站 | 亚洲欧美日韩在线 | 欧美二区在线 | 97av视频| 午夜色婷婷| 殴美成人在线视频 | 91色视频在线| 99久久精品国产一区二区三区 | 成人在线免费网站 | 亚洲精品视频久久 | 成人国产毛片 | a久久| 中文字幕国产高清 | 午夜小影院 | 久久久久久久久久毛片 | 日韩不卡一二区 | 久久99精品久久久久久国产越南 | 婷婷综合网 | 国产女人与拘做受视频 | 欧美日韩久| 午夜精品视频在线观看 | 亚洲欧美日韩中文在线 | 综合二区 | 国产人成精品一区二区三 | 亚洲国产精品一区二区三区 | 久久精品中文字幕 | 国产精品一区二区不卡 | 国产99久久精品一区二区300 | 91 在线| 久久久久久久久99 | 国产免费看| 日日日干干干 | 黄网免费| 亚洲一区二区三区在线播放 | 偷牌自拍 | 国产精品视频观看 | 亚洲欧美国产精品久久 | 色免费看 |