[]小游戏合并JS后的问题

游戏里用的matter.js 发布成小游戏后,ide会将matter.js合并,但合并后程序里面Browser.window.Matter获取不到引用了(如果有别的方法能引用求告知),于是我就手动在小游戏那边将matter.js文件导入 ,在game.js里面加入
window.Matter = require("./matter.js");
这样程序里面可以获取到引用并正常使用,但有些手机不支持这样写会卡死在微信初始化小游戏这地方(测试过这样这地方这样导入JS就百分百卡死
如果去掉这行代码就肯定能进) 所有laya这边能不能解决前面那个合并后获取不到引用的问题
 
 
已邀请:

yung

赞同来自:

可以这样修改
找到matter.js的Matter定义的地方
matter.png

 

layabox

赞同来自:

明天我们测试看下

OneWay

赞同来自:

上传个demo看看吧

185*****307

赞同来自:

这个就用官方的物理引擎的那个例子就可以测试,合并后 按原来的方式就访问不到物理引擎的引用了,我现在为了省提交打包成小游戏的时候 都没有把物理引擎打包进去,而是到小游戏那边导入

Laya_XSN

赞同来自:

默认小游戏里针对全局声明的对象,必须要通过window才能访问到,而在浏览器里var直接声明的全局对象,可以不加window即可访问,这也是小游戏的限制,而物理引擎你要使用只能自己单独通过window存物理引擎的入口类,后面微信会不会改这个问题不好说,如果支持估计也会很久,目前临时方法就是上面的处理,以上处理作用于全部第三方的使用。或者自己改matter.js文件声明的地方加上window,应该也可以搞定这个问题。

yung

赞同来自:

这个我们后续版本统一处理一下,这样你就不用单独处理了

xiaojun

赞同来自:

我也是啊,加了window.Matter = require("./matter.js");之后
又出现个 TypeError: window.focus is not a function

吉日-jerry

赞同来自:

@layabox 请问测试了么?有好的解决方案么?

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作