Creator 2.0.x 打开 1.x 的 fire 文件时没有正确更新 _scale 属性

  • Creator 版本:2.0.7, 2.0.8

  • 目标平台:Web

  • 详细报错信息,包含调用堆栈:

  • 重现方式:旧版本的 fire 文件只有

  • 之前哪个版本是正常的:1.x

  • 编辑器操作系统:mac os 10.14.2

在上图中,左侧是旧版本的 fire 文件,右侧是用 2.0.x 打开后自动修改后的文件,在右侧 350 行所示,新增 _scale 的 z 为 0,导致节点无法显示。

用2.0.x打开后,scale增加了z轴属性并不会影响节点的显示,你的1.x是哪个版本?2.0.x又是哪个版本?看下控制台是不是有其他的信息。我这边用1.9.3的HellopWorld以及范例合集中Sprite相关的几个场景都测了一下,用2.0.8打开都可正常显示

你好,我说明一下细节吧:

  1. 之前用的是 1.6,现在用的是2.0.8;
  2. 你的demo之所以没有问题是因为engine的CCNode在ctor中给scale.z设为了1,因为fire文件的scale.z设为0之后,不会打包到json文件中,刚好负负得正没事了;
  3. 因为第2点的缘故,会引起fire或prefab的scale设置成0之后,导致CCPrefab在第三次instantiate之后,生成的cc.Node的scale变成了1,可以看看我之前发的那个帖子,https://forum.cocos.com/t/creator-2-0-x-prefab-scale-0-1/73526
  4. 在我的环境里我自定义了引擎,去掉了ctor 中的默认设置scale为1,但是这个帖子要说的bug是editor把旧版本升级上来的时候scale.z属性改为0

我知道原因了,和我改过引擎有关系。