问题描述
2.06版本的Cocos Studio创建的csd,如果拖到3.10的版本里可以正常显示。
这就是我们一般而言的向下兼容。
但是一旦用3.10版本打开之后,csd文件本身发生了改变,再托回到2.06版本的话,会发现打不开了。
所以Cocos Studio不支持向上兼容。
因为历史原因,只能使用2.06版本进行开发,升级引擎之后,又需要3.10版本的csd。所以一般的方案是用2.06的版本创建csd,然后拷贝一份放到3.10版本里发布成csb使用。
问题是:如果不小心把2.06版本的csd拖进3.10的Cocos Studio里,然后又忘记备份的话,csd就再也不能用2.06版本打开了,最淳朴的补救方法就是对着3.10的版本的效果,再在2.06版本上重做一遍。用血汗为自己的失误买单。
解决思路
既然csd可以用文本打开,格式清晰可见。那就一定存在一定的转换逻辑,或者说是规律。
可以通过渐变的方式,从3.10版本逐渐变成2.06。从中找寻规律。
解决方案
经过一点研究发现,解决方案比想象的要简单的多,并不需要通过写代码就能解决。
直接说方案:
3.10替换2.06的对应项:
- 3.10.0.0–2.0.6.0
- GameFile–GameProjectFile
- GameNodeObjectData–SingleNodeObjectData
- AbstractNodeData–NodeObjectData
- GameLayerObjectData–LayerObjectData
把3.10的csd文件夹直接拖进notepad++,然后在文件中进行以上项目(5项)替换。
替换完成后,拖进2.06的Cocos Studio查看即可。