游戏引擎 cocosCreator 1.9.1
微信开发者工具 v1.02.1804251
在iphone7,iphone6plus部分真机机型上会出现,其它机型正常
调用wx.getOpenData会提示找不到方法,请官方大大求解
因为微信版本太低了,没有这个方法,需要修改引擎源代码做修复,搜索wx.getOpenDataContext只有一处使用,大概是core/platform/CCView.js的1097行
兄台,那请问怎么修改源码,能指导下么,拜谢了
而且,兄台,我这边排行榜,也用到这个getOpenDataConetext,来获取shareCanvas,那该怎么改呢
这。。。我手上只有mac,所以mac的源码位置是/Applications/CocosCreator.app/Contents/Resources/engine,构建时重新触发一次cut-engine就可以了,windows没有机器不知道。
直接sharedCanvas用就可以了,sharedCanvas是全局的
解决方法:
1.在微信小游戏后台设置线上版本的最低支持基础版本库为1.9.2以上。低于这个版本的微信就打不开你的小游戏了,微信会提示其更新微信版本,找不到API的问题也就解决了
2.做低版本兼容,修改引擎源码在调用wx.getOpenDataConetext的地方先判断是否有这个方法。另外在游戏逻辑代码中也进行版本判断,低版本不使用相关功能
请问怎么判断有该方法呀,
var type = typeof(wx.getOpenDataConetext);
console.log('getOpenDataConetext: ’ + type);
我这样用打印出来是 ‘undefined’,但是能调用该方法
嗯,这个好,可以这么处理一下
我是直接使用javascript的&&运算符的。
wx.getOpenDataContext&&wx.getOpenDataContext()
这行代码的意思就是,判断&&前的值是否为 null或undefine,如果是,则不会进行调用。如果不是,则会执行&&后的语句调用这个方法
好的,非常感谢!
