2.x转3.x问题记录
大约 2 分钟
距离公司项目升级已经过了一段时间了,这里说说自己遇到的坑!
- 模块内不能导出非 const 变量
- 模块内不能存在未导出枚举
- 组件属性定义不能直接引用 this
- 2d 多边形碰撞体坐标数据丢失
- 2d 碰撞器回调监听由自动改为手动
- 碰撞回调内不能操作包括但不限于 collider 内的所有属性,比如不能 removeParent()
- bmfont 字体丢失:转换到 3.x 之前请确保 *.fnt 文件 和 同名 字体图片在同一路径下,否则会造成丢失
- 物理材质会重置
- 原本的预制体内 scrollview 滑动失效,但新建的可以
- 动画结束后属性数据还是动画播放之前,重新设置无法更新(例:动画开始前颜色为 255,255,255、结束后为 0,0,0、那么停止动画后重新设置动画为 255,255,255 无效)
- 动画 color 属性丢失
- 3d 模型离 0,0,0 点越远,用 setLinearVelocity 设置速度后移动越卡,仅在公司项目可重现,demo 未重现
- label 组件未展示内容,节点必须存在 transform 组件
- 节点层级改变后 rotation 和 scale 偶现被置空或者置零导致节点消失,仅公司项目可重现,demo 未重现
- 部分动态实例化的节点挂载的龙骨无法看见,只有放在场景上能看见,2.x 无影响
- 编辑器无法识别部分龙骨动画的 tex.json 文件,清理第一遍缓存后重试无效,清理第二遍后可以识别
- 对龙骨挂点执行 cc.tween(node).to(time, { scale: cc.v3() }).start() 无效,onUpdate 内 setScale 一样无效,同时挂点无法跟随龙骨缩放,只能跟随位移
- 部分中文路径资源无法加载,偶现
- 原生和 web 不同步的地方,原生 audioSource 没有依赖节点会报错,原生节点无父节点设置刚体分组会卡主
- cc.macro.CLEANUP_IMAGE_CACHE 开启会导致龙骨播放异常,2.x 则不会
- 3d 环境光组件改变到场景节点上了,旧的需要删除,否则原生报错
附加
- 个别场景升级后永远无法保存,打开项目提示保存,打开场景提示保存,但保存后 creator 标题栏始终有代表未保存的 * 符号