发布为微信小游戏后,在微信工具中测试时总是提示加载retry to load TheRed.fnt,并以error告终。由于没有任何出错信息,无奈之下只好阅读源码。对BitmapFont的处理分为两个部分,一是下载x.fnt文件并加以解析,成功后会将x.fnt替换为x.png并再次下载。在微信工具中一步步地debug,最终定位到是在MiniAdapter.parseXMLFromString方法中调用:
(new window.Parser.DomParser()).parseFromString(value, 'text/xml')时出错了,提示”需要引入xml解析库文件“。
后来在社区中也看到了这个问题,下载了其提供的附件。在加载BitmapFont之前加入代码:
window.Parser = require("./js/dom_parser");
而发布为微信小游戏后,将附件文件(一个包含dom.js,dom_parser.js等文件的文件夹)放到发布目录下,再次运行微信工具,加载成功。
根据之前几次与Laya交互的经验,有时加载资源却不一定给出相应的error message,这时候只能往深层去debug查找错误信息了。