白鹭Egret项目改成H5微信小游戏

分类栏目:白鹭Egret教程

287

1、新版的AssetsManager在通过外部路径(Res.getResByUrl)加载资源时,一定要传入加载的类型,不然会报错的,旧的Res是不会报错的;
 
2、微信小游戏不允许eval函数,用JSON.parse()代替即可;
 
3、如果微信开发者工具提示要安装xml包,根据白鹭官网链接下载:http://developer.egret.com/cn/github/egret-docs/Engine2D/minigame/minigameFAQ/index.html,然后放到编译后的微信小游戏根目录下即可,同时在编译后的微信小游戏目录的game.js中加window.DOMParser = require("./xmldom/xmldom.js").DOMParser;
 
4、其实第3点可以不用,把egret引擎升级到新版,记得将egretProperties里的current属性改为wxgame,在终端命令下输入 egret publish --target wxgame 即可,会自动安装好xml,而且会自动压缩相关的 js 文件;
 
5、如果有用zlib库的报错,看下zlib.js和zlib.min.js最后的call(this) 是不是为call(this||window||global);
 
6、将用到的类暴露给window,在wxgame.ts类里的onFile函数里修改;
 
7、我每次发布成小游戏前都要将default.thm.json文件里的皮肤路径去掉,不然发布会报错;
 
8、小游戏有连接socket的,会提示socket不在合法域名里,需要在设置菜单->项目设置里勾选跳过xxx域名检验;
 
9、微信小游戏的排行榜,如果要从微信cdn获取玩家的头像,如下处理即可:
 
let pic = wx.createImage();
pic.onload = function(){
//加载完更新下位置布局
}
pic.src = "图片cdn路径";
还有就是排行榜在安卓真机上的文字是渲染不出来,需要手动改下字体颜色,默认黑色显示不出来:
 
  //设置字体相关
  context.font = fontSize + "px Arial";
  context.fillStyle = "#ffffff";