跳至主要內容

2.x转3.x问题记录

muzzik大约 2 分钟笔记CocosCocosCreator

距离公司项目升级已经过了一段时间了,这里说说自己遇到的坑!

  • 模块内不能导出非 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 标题栏始终有代表未保存的 * 符号

📣 觉得很赞?分享给你的朋友吧!