1.小游戏上传时如果勾选自动压缩的话,实际还同时会混淆。因为用到SpringIOC 功能,不能用反射,所以去掉压缩,自行做压缩(主要是把一些库文件换成min版本,并且在头尾加上;window.egret = egret;var egret = window.egret;),要是微信可以把压缩和混淆分开来就好了。
2.竖屏换成横屏,只要在game.json里把"deviceOrientation": "portrait",改成 "deviceOrientation": "landscape",
3.引入第三方库报 第三方库 is not defined
错误,在wxgame.ts里加一些代码:
if (filename == 'libs/keyboard/keyboard.js' || filename == 'libs/keyboard/keyboard.min.js') {
content += ';window.keyboard = keyboard';
}
4. 如何控制代码包的策略:
搬:能搬的尽量搬。图片、音频、数据、甚至页面,很多都可以搬至服务端,需要时再通过网络载入。将非核心非必要的内容移出代码包可以大幅度释放代码包空间。
删:搬不了的尽量删。已下线、已废弃、无关、冗余等不需要/不再需要的内容应及时清理,避免持续占用代码包空间。
压缩:图片、js、wxss、wxml等均存在压缩空间。很多时候,适当程度的压缩,能在几乎不影响功能体验的同时,有效减少空间占用。
合并:压缩不了的尽量合并。功能类似的资源可以归一化,在需求/设计/实现层面减少资源的重复消耗。
微信小游戏主包限制为4M,但 同时还有50M的缓存空间可以利用。所以把必要的资源放在包内,把可以动态加载的资源放在自己的web服务器上跨域加载就是非常必要的。
首先要开启:
egret.ImageLoader.crossOrigin = "anonymous";
然后把资源分为大厅资源(以后可能还要区分,比如大厅背景也远程加载),各个小游戏资源,
加载大厅资源如下:
RES.loadConfig("resource/default.res.json","resource/");//加载大厅资源
加载各个游戏资源(比如有cat,pig,dog游戏):
RES.loadConfig("http://www.app.com/resource/cat/cat.res.json", "http://192.168.1.100/resource/cat/");//加载cat资源配置文件
RES.loadConfig("http://www.app.com/resource/cat/pig.res.json", "http://192.168.1.100/resource/pig/");//加载cat资源配置文件
RES.loadConfig("http://www.app.com/resource/cat/dog.res.json", "http://192.168.1.100/resource/dog/");//加载cat资源配置文件
具体请参考:
使用 AssetsManager 灵活定制微信小游戏的缓存策略
5.如何调用微信API
egretProperties.json先引入
{
"name": "weixinapi",
"path": "libs/weixinapi"
}
如果跨域访问jsapi.do,则需要在nginx服务器加入
add_header Access-Control-Allow-Origin *; 然后就可以调用了。
如何进行小游戏的参数传递,比如分享游戏,邀请好友,开房,都会需要有参数传递,小游戏的参数传递和接受有以下几种方式:
1.通过微信公众号的自定义菜单--》菜单内容选择小程序--》小程序路径填写 比如 (?pid=ningbo) 就可以用来做公众号代理游戏方案。
2.通过分享接口 监听用户点击右上角菜单的“转发”按钮时触发的事件
wx.onShareAppMessage(function callback) 可以填入启动参数,然后wx.onLaunch() 或 wx.onShow 获取启动参数中的 query
wx.onShow(function callback)
LaunchOption wx.getLaunchOptionsSync()
微信小游戏正式版:
https://developers.weixin.qq.com/minigame/dev/devtools/download.html
微信小程序测试版
https://developers.weixin.qq.com/miniprogram/dev/devtools/beta.html
微信小程序正式版
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
微信上调试神器
https://github.com/Tencent/vConsole
发布微信小游戏
egret publish --target wxgame