love2d教程15 國際化

2022-05-22 17:09:16 字數 1284 閱讀 3796

國際化一般都是把字串資源放到單獨的檔案裡,這樣載入不同的語言檔案就可以實現

國際化了。下面介紹的是love的babel庫。

首先我們先看一下它的語言檔案格式:

language =,

--list of all the translations

translations =

}return language

可見語言檔案就是乙個lua表,有formats和translations兩個子表。

再看一下如何呼叫:

require

"babel

"lang_zh=true

--顯示中文為真,否則假

function love.load()

--初始化babel

babel.init(

})--設定字型,顯示中文還是需要字型的,

--這裡沒放字型,請到網上找yaheiconsolas字型,或使用其它支援中文的字型

cnfont=love.graphics.newfont("

yaheiconsolas.ttf

",18

) love.graphics.setfont(cnfont)

endfunction

love.update(dt)

endfunction

love.draw()

--「_()」實際是babel.translate函式的別名

love.graphics.print( _( "

hello world

" ), 10, 10 ) --

這句會把源字串翻譯為local對應的字串

love.graphics.print( _( "

my name is %name%

", ), 10, 30

)end

function

love.keypressed(key, unicode)

--動態語言切換

if key=="c"

then

lang_zh= not

lang_zh

endif

not lang_zh then

babel.switchlocale(

"en-us")

else

babel.switchlocale(

"zh-cn")

endend

其中設定語言資料夾可以使用不同目錄,還可以使用addlocalesfolder函式在需要時新增語言資料夾.

love2d教程28 血條

感謝朱大仙提供的 這才有了這篇部落格。血條 至於體力 法力都是類似的 是遊戲裡常用的gui控制項,它主要實現兩個功能 增加 減少。效果如圖 沒有錄製gif 血條的繪製可以使用love裡的一些繪圖函式,還可以用填充。這裡採用bloodlineb.png填充,同時這個也是乙個quad的序列圖,用它來組成...

love2d教程28 血條

感謝朱大仙提供的 這才有了這篇部落格。血條 至於體力 法力都是類似的 是遊戲裡常用的gui控制項,它主要實現兩個功能 增加 減少。效果如圖 沒有錄製gif 血條的繪製可以使用love裡的一些繪圖函式,還可以用填充。這裡採用bloodlineb.png填充,同時這個也是乙個quad的序列圖,用它來組成...

love2d教程19 揹包

慚愧,在春節裡一篇文章也沒寫,現在又回到學校了,繼續love2d教程。由於我 只是現看現寫,有些地方可能錯了,希望大家指正,我會及時修正。這篇文章主要關 於loveframes的應用,是按朱大仙要求寫的,原文在此。揹包功能是通過loveframe來實現的,loveframes其實是支援中文的,只需要...