在看別人的代碼的時候,有時候會發(fā)現(xiàn).fnt文件,這個文件是如何產(chǎn)生的呢,其實是使用位圖處理工具bmfont生成的!
本文的重點就是命令行,如果用過這個工具的,可以直接看最后一條命令行~如果是高手,直接跳過本文吧
對于Bitmap Font Generator的使用方法網(wǎng)上的也有很多文章進行了說明,但是可能并不夠全面!
本文可能也沒有那么全面,但是絕對有新穎的地方。
首先,說下為什么要使用這款工具作為cocos2d-x的字體生成工具。其實cocos2d-x能使用的字體生成工具也有好幾個,當然了本人也沒有全部使用過,就不一一說明了。Bitmap Font Generator(下面簡稱BMFont)工具的好處有一下幾點:
1.支持windows系統(tǒng),貌似也只支持windows,好吧,這也是個缺點
2.支持從文本中獲取所需要生成的字
3.支持保存設(shè)置文件
4.支持命令行
安裝完成之后,可以看下界面
右邊是字庫分類,左邊是字符,可以點中作為輸出的字體(白灰色底的是選中的,黑灰色底的是沒有選中的)。
這個先別急著選,先設(shè)置下輸出的配置,比如字體什么的~
一、字體設(shè)置
打開左上角的Options,選擇Font settings,出現(xiàn)如下界面,這個就是可以設(shè)置字體的地方
說下幾個重點的地方
首先選擇字體,F(xiàn)ont右邊的下拉列表可以選擇。如果沒有自己需要的字體,說明系統(tǒng)沒有安裝這個字體,可以先安裝字體,再來設(shè)置(推薦該方法);蛘唿c擊下面的Add font file,去加載字體。
其次,設(shè)置Charset,選擇Unicode
二、導出設(shè)置
打開左上角的Options,選擇Export Options,出現(xiàn)如下界面,這個就是可以設(shè)置導出的地方!
這些設(shè)置,主要說下File format,包括三種格式 文本、XML、二進制,cocos2d-x支持文本格式的fnt文件,選擇text就OK
三、輸出文字選擇
具體要導出哪些文字,需要選擇,主要方法有以下兩種:
1.手動選擇:可以看到主界面上面右邊的區(qū)域,其將文字進行了分類,字符集的分類
比如002190,表示的是Arrows,箭頭
此時選中,可以看到左邊顯示的是Arrows表示的文字內(nèi)容
如果選中其中的一個或者幾個,Arrows旁邊的白框會變成如下:
如果全選的話,Arrows旁邊的白框會變成如下(PS:直接點Arrows旁邊的白框一樣的效果):
在菜單欄的Edit選項上面,會有一些便捷操作
(Un)Select all chars 選中或者不選中,當前選中的那個字符集分類中的所有字體(讀者可能不理解,其實試一下就好,或者看下一條,也許就很好理解了)
Select marked subset(s) 選中所有已經(jīng)選中的子字符集下的文字(使用ctrl可以在左側(cè)選中一個或者幾個子字符集,如下圖)
UnSelect marked subset(s) 與上一條相反,不選中已經(jīng)選中的子字符集下文字!
Clear all chars in font 清除所有選中的文字
2.通過文本選擇
通過上面的手動選擇,可以看出選擇文字是個體力活,那有沒有什么簡便方法呢~答案是肯定的,這個工具給力的地方體現(xiàn)出來了
這個工具可以通過解析文本來輸出文本當中所用到的問題,當然如果你選中的字體里面,沒有該文字,那可能就無法輸出了哦~
那么如何操作呢,如下:
選擇菜單欄上的Edit下的Select char from file,然后瀏覽找到自己需要的生成字體的文本,就這么簡單
但是,問題來了,這個文本的格式,是很操蛋的一個問題,它需要是UTF-8,并且是帶BOM的UTF-8
如果不是這個格式會腫么樣?嘿嘿嘿,當然是生成出來的是亂碼嘍(PS:其實估計英文的話,問題不大,中文就是各種莫名亂碼)
如果不是這個格式的腫么辦?哈哈哈~~百度看看如果轉(zhuǎn)換格式吧,很多文本編輯器帶這個功能,本人不多說了哦~
四、保存配置文件
首先說下為什么要保存配置文件,這個嘛~好處還是蠻多的
1.保存了配置文件,下次就不需要手動再配置一次了~
2.時間長了忘了怎么配置的了,腫么辦?保存一下,白紙黑字嘛
3.保存下來也是文本,可以直接文本編輯器里面去修改配置
廢話不多說了,來說下怎么操作:
選擇菜單欄上的Options下的Save configuration as...
然后選擇保存的位置,以及文件名~
配置文件的后綴名是.bmfc
上圖可以看到,還有個Load configuration,這個是加載配置文件的,下次打開工具之后可以直接加載了,而不需要重新配置了~哇咔咔
五、導出fnt,以及貼圖文件
差點忘了這條了,這個很簡單:
選擇菜單欄上的Options下的Save bitmap font as...或者快捷鍵 ctrl + s
六、命令行使用
這個是重頭戲呀~按慣例說說,命令行的好處吧:
1、使用命令行,方便啊,一次弄好了,以后直接用個批處理,都不用再打開工具軟件
2、超級方便,如果文本更新了,也不需要再打開工具軟件
3、絕對超級方便,如果字體配置改了,文本也更新了,還是不需要打開工具軟件
差不多了,該說正事了,如何使用命令行:
首先啊,上面的步驟還是要走的,要導出個配置文件。
其實啊,需要做文字的文本要準備好
最后,再寫個.bat批處理文件就OK了~
批處理內(nèi)容如下
rem 設(shè)置BMFont軟件安裝路徑
set BMFont_PATH=E:\Progra~1\AngelCode\BMFont
rem 設(shè)置文本、配置文件以及輸出fnt文件的路徑
set TEXT_PATH=E:\XXX
"%BMFont_PATH%\bmfont.exe" -t %TEXT_PATH%\text.txt -c "%TEXT_PATH%\peizhi.bmfc" -o "%TEXT_PATH%\font.fnt"
命令說明: -t 選擇的文本, -c 選擇的配置文件 -o 輸出的fnt文件
沒想到居然寫了這么多,其實本來就想寫個命令行的,讓大家方便就好~~
希望大家多多支持,如果有不對的地方,還請指教~
cocos2d-x 之美術(shù)字bmfont工具使用
1、下載安裝windows下免費的位圖字體制作工具Bitmap Font Generator
2 打開軟件,選擇Opotion->FontSetting,來設(shè)定需要導出的字體
我這里用微軟雅黑。 Size可以設(shè)定字體大小,最好需要多大就設(shè)定多大,這里是32 Height可以設(shè)定字體的拉伸高度,保持默認100%就可以了
3. 選擇菜單 Edit->Clear all chars in font 清空下字符
4. 選擇菜單 Edit->Selecting text from file... 選擇一個文件,里面包含你想生成字體的文字
生成一個*.Txt文本,里面包含你想要生成字體的文件,如下圖
選中剛才創(chuàng)建的txt文件,如果有提示失敗,請檢查txt文件是不是unicode或者utf-8編碼的文件以及字體是否包含文本內(nèi)的字體
5. Option->ExportOptions來設(shè)定導出的樣式等
這里解釋一下幾個重要的地方
Padding,文字的內(nèi)邊框,或者理解為文字的周邊留空要多大 做后期樣式時這個屬性很重要,需要預留空間來給描邊、發(fā)光等特效使用 比如我預計我的樣式要加一個2px的邊框,然后加一個右下角2px的投影效果,所以我設(shè)定了padding:2px 4px 4px 2px
BitDepth,必須32位,否則沒有透明層
Presets,字體初始化的預設(shè)的顏色通道設(shè)定,也就是說字體的初始顏色設(shè)定是什么樣的,建議都用白色字,可以直接設(shè)定為White text with alpha,即白色字透明底。
Font descript,字體描述文件,可以使用text或者xml 也就是fnt文件格式
Textures,紋理圖片格式,果斷png。
6.option->Save bitmap font as...
導出成一個文理文件和一個描述文件,如果按照上面的配置,會有一個*.png和一個*.fnt
這是導出后的png圖片,為了看得清楚,我選擇了黑色加透明 具體顏色視你的應(yīng)用情況而定