1.CCGame.js 修改部分数据脚本的加载时机,避免首屏卡顿
// Load game scripts var jsList = config[CONFIG_KEY.jsList]; if (jsList && jsList.length > 0) { cc.loader.load(jsList, function (err) { if (err) throw new Error(JSON.stringify(err)); self._prepared = true; if (cb) cb(); self.emit(self.EVENT_GAME_INITED); }); } else { if (cb) cb(); self.emit(self.EVENT_GAME_INITED); }
2.CCLoader.js 加载代码回退处理
1.6.1 -> 1.5.1避免加载并发时回调次数不足
回退后该代码在1.6.1中运行稳定,最新版本需要验证
回退仅处理了items.destroy()这一条语句的位置
var queue = LoadingItems.create(this, progressCallback, function (errors, items) { callInNextTick(function () { if (completeCallback) { if (singleRes) { let id = res.url; completeCallback.call(self, items.getError(id), items.getContent(id)); } else { completeCallback.call(self, errors, items); } completeCallback = null; //++ items.destroy(); } if (CC_EDITOR) { for (let id in self._cache) { if (self._cache[id].complete) { self.removeItem(id); } } } //-- items.destroy(); }); });
3.CCView.js 判断分辨率,切换适配模式(ipx/全面屏)
setResolutionPolicy: function (resolutionPolicy) { //增加对于ipx全面屏的特殊处理(横版游戏) if(cc.view._frameSize.width / cc.view._frameSize.height > 1.778 /*1136/640*/){ resolutionPolicy = cc.ResolutionPolicy.SHOW_ALL //cc.ResolutionPolicy.FIXED_HEIGHT } //end var _t = this; if (resolutionPolicy instanceof cc.ResolutionPolicy) { _t._resolutionPolicy = resolutionPolicy; } // Ensure compatibility with JSB else { var _locPolicy = cc.ResolutionPolicy; if(resolutionPolicy === _locPolicy.EXACT_FIT) _t._resolutionPolicy = _t._rpExactFit; if(resolutionPolicy === _locPolicy.SHOW_ALL) _t._resolutionPolicy = _t._rpShowAll; if(resolutionPolicy === _locPolicy.NO_BORDER) _t._resolutionPolicy = _t._rpNoBorder; if(resolutionPolicy === _locPolicy.FIXED_HEIGHT) _t._resolutionPolicy = _t._rpFixedHeight; if(resolutionPolicy === _locPolicy.FIXED_WIDTH) _t._resolutionPolicy = _t._rpFixedWidth; } },
4.CCInputManager.js 部分iframe情况下点击偏移处理
注释掉全部两处element.focus(验证无误)
5.脚本跨域获取error堆栈信息
downloader.js
function downloadScript
增加script element属性
s.crossOrigin = true
QQ:393422044
Email:fkrfkrfkr@163.com