微信游戏在哪里 微信游戏在哪里设置不要好友看到


微信游戏在哪里 微信游戏在哪里设置不要好友看到

文章插图
上周末,极光网络赞助的第一期“极光客厅”正式开门迎客 。在这个时候“2D小游戏开发实战技术沙龙”上,极光网络客户经理陈策、极光网络项目总监陈远与与会者分享“大型H5如何登录微信游戏”以及“游戏性能优化”大量R&D干货 。
以下是两位嘉宾的干货安排:
陈策:大型H5如何登录微信游戏
随着公司业务的发展,我们的项目经常要落地各种平台,微信游戏就是这些平台中的一个 。
微信游戏是微信小程序的一个类别,这是点击播放,无需下载安装,体验轻松,可以和微信里的朋友一起玩,比如PK,围观等 。
但是我想让我的游戏登陆微信游戏,会有一些限制,下面主要说一下《大天使之剑H5》该项目落地微信游戏的主要局限及解决方案 。
一、《大天使之剑H5》主要受微信游戏限制
1.所有分包规模不得超过8M:分包是指微信开发工具中上传的所有资源,包括JS代码和资源,总计不得大于8M;
2.单个包的大小不得大于4M:在上传的文件中,不能超过4M的文件;
3.JS必须将其置于分包合同中,然后才能运行,装入JS文件将仅被视为文本:加载JS文本,无法转换为可执行脚本 。
《大天使之剑H5》在登录微信游戏之前,整个项目规模约为400多M,光JS代码部分大约有10M 。除逻辑代码以外的其他资源(图片、音效、配置等),可以在游戏运行的时候加载,不要在开发工具里上传,但约10M的JS所有代码部分都必须上传 。因此,《大天使之剑H5》想登录微信游戏,必须减少JS代码的大小 。
二、现有压缩工具UglifyJS一些函数的介绍
Layabox在引擎中AS3部分世代JS将被优化,该功能应基于UglifyJS去实现 。优化内容主要包括:
1.从代码中删除无效的空白字符
2.从代码中移除注释
如图所示:
微信游戏在哪里 微信游戏在哪里设置不要好友看到

文章插图
3.缩短方法中的局部变量名
如图所示:
微信游戏在哪里 微信游戏在哪里设置不要好友看到

文章插图
4.代码格式优化 (将代码改为更节省字符的方式)
如图所示:
微信游戏在哪里 微信游戏在哪里设置不要好友看到

文章插图
5.压缩属性名 (默认情况下不打开)
微信游戏在哪里 微信游戏在哪里设置不要好友看到

文章插图
我们先来看这个例子,这是一门课,在工具默认情况下不打开压缩属性名称时,在示例中,该工具将仅按压两个橙色点X和Y,因为这是一个参数,也就是刚刚提到的方法中定义的变量,this.x,this.y这个不急,因为这是属性名 。如果类名Point,方法名setTo,属性名X,Y压了,然后其他使用的地方也要一起换,如果代码中调用了反射,那就不能叫了 。所以压缩这些名字是有风险的,这就是为什么默认不按工具的原因 。那么该功能就没用了?不会,该工具还提供了许多参数,以便您可以设置未压缩名称的列表,正则表达式也允许你定义压缩的名字等等,其实还可以用,还是说你只需要先为你自己的项目想出一个名字数据,编译后的未压缩名称集应该与代码同步维护,这将更加困难,所以《大天使之剑H5》项目中不使用此功能 。
小结:
《大天使之剑H5》现有项目AS3代码输入Layabox生成JS代码时,上面提到的前四个优化点已经默认执行:
  • 从代码中移除无效的空白字符
  • 从代码中移除注释
  • 方法中局部变量名的缩短
  • 代码格式优化
但是生成的JS代码有10M左右,还没达到微信游戏的要求,因此,为了减少代码量,我们需要更多地了解我们的AS3再做一些代码优化,从而减少代码量 。
三、减少程序代码
减少代码量,最直接的方法就是减少代码中的字符,这部分是优化的,它在我们的项目中AS3代码部分的优化,这些优化包括以下内容:
1.将接口布局的数据更改为外部加载
Layabox的UI编辑后,会生成相应的UI类文件,其内容如图所示:
微信游戏在哪里 微信游戏在哪里设置不要好友看到

文章插图
这里的主要内容是UI布局数据,不涉及逻辑,可以提取 。另存为文本文件,当其对应的接口初始化时重新加载,在Layabox中,我们可以修改它UI来调整模式:
微信游戏在哪里 微信游戏在哪里设置不要好友看到

文章插图
我们可以随意创造一个UI去做测试,如图所示: