寫一個(gè)在線位圖字體制作工具!BitmapFont!
簡(jiǎn)單易用,跨平臺(tái),20KB!
效果
效果預(yù)覽:
https://www.bilibili.com/video/BV1cf4y1H7Pa
無論寫代碼還是寫工具,都要明確輸入與輸出。
- 
    
輸入:零碎的字體圖片(通常是數(shù)字)
 - 
    
處理:可動(dòng)態(tài)調(diào)整參數(shù),預(yù)覽實(shí)時(shí)效果
 - 輸出:一張合圖以及字體信息文件 
xxx.fnt 
為何要重新寫一個(gè)輪子呢?
- 
    
Glyph Designer(Mac) 與 BMFont (Windows) 功能完善,但是有平臺(tái)限制。 個(gè)人不習(xí)慣其操作
 Cocos Store中也有許多優(yōu)秀的 BMFont 插件,但是依賴Cocos Creator,可能會(huì)有對(duì)應(yīng)版本限制。
實(shí)現(xiàn)
于是動(dòng)手寫一個(gè) HTML ,依賴瀏覽器的小工具,目錄設(shè)計(jì)如下:
index.htmlrenderer.jsindex.css
拖入文件
參考 mozilla 中的文檔,監(jiān)聽 ondrop 事件。
https://developer.mozilla.org/zh-CN/docs/Web/API/File/Using_files_from_web_applications
拖入文件后,用一個(gè)列表維護(hù)文件數(shù)據(jù),文件格式可以參文檔。
http://www.angelcode.com/products/bmfont/doc/file_format.html

拖入文件代碼
合成大圖
參考 Cocos Store 中的一個(gè)插件代碼,將所有圖繪制在一個(gè) Canvas 上。
http://store.cocos.com/app/detail/2604

合成大圖代碼
預(yù)覽效果
根據(jù)圖片 xoffset yoffset xadvance 的信息,采用 Canvas 畫布渲染。

預(yù)覽效果代碼
導(dǎo)出文件
直接使用 FileSaver.js
https://github.com/eligrey/FileSaver.js
 
導(dǎo)出文件代碼
體驗(yàn)
在線體驗(yàn)地址: https://lamyoung.gitee.io/web/bitmapFont/
代碼打包下載: https://gitee.com/lamyoung/web/raw/master/bitmapFont/source.zip
以上為白玉無冰使用 HTML + JS 實(shí)現(xiàn) "位圖字體制作工具" 的過程分享。















 
 
 



 
 
 
 