【已解决】2.2.0 升级 2.2.1 出现Source is too large报错 @引擎开发团队

报错堆栈如下:

0 :(Uncaught RangeError: Source is too large, [0]_upgrade_1x_to_2x@src/cocos2d-jsb.js:9054
[1]30.d._upgrade_1x_to_2x@src/cocos2d-jsb.js:6536
[2]_onBatchRestored@src/cocos2d-jsb.js:9087
[3]_onBatchRestored@src/cocos2d-jsb.js:9095
[4]_onBatchRestored@src/cocos2d-jsb.js:9095
[5]_onBatchRestored@src/cocos2d-jsb.js:9095
[6]_instantiate@src/cocos2d-jsb.js:37091
[7]_instantiate@src/cocos2d-jsb.js:10752
[8]l@src/cocos2d-jsb.js:29917
[9]anonymous@src/project.js:6429
[10]anonymous@src/cocos2d-jsb.js:21940
[11]anonymous@src/cocos2d-jsb.js:21834
[12]anonymous@src/cocos2d-jsb.js:30570
[13]fireTimeout@jsb-adapter/jsb-builtin.js:2038
[14]tick@jsb-adapter/jsb-builtin.js:2000):

cocos2d-jsb.js:6536行号对应代码如下:

2.2.0是正常的。
@EndEvil

看看是哪个场景报错了,把场景的fire和meta文件,发来看看


这个是升级2.2.1导致多了俩字段么?

你是不是手动合了之前2.2.0 的 skew 兼容方案?这里本来只有10个的,奇怪的是,升级的时候也考虑到了这种情况,做了处理,不知为何会有漏网之鱼,加我QQ 1053210246,你build个工程发我分析一下如何?

是的。稍后加你哈

或者你直接把CCNode.js 里面的这段代码


改成这样就好了
if (desTrs.length === 12) {
trs.set(desTrs.slice(0,10));
} else {
trs.set(desTrs);
}

嗯嗯 这么改 可以了。

麻烦标记下已解决哈~