Creator 2.0.x 的 prefab 的 scale 设置为 0 时返回 1

当 prefab 的 scaleX 和 scaleY 设置 0 时,并且当这个 prefab 被 cc.instantiate 实例化3次以上时,返回的 node 其 scale 会设置为 1。

跟踪调试发现是因为 CCNode.js 在 ctor 中将 _scale.x _scale.y _scale.z 都设为 1,
在 instantiate-jit 的过程没有正确赋值。

@jare

  1. 建议在 CCNode 中的 properties 改为 _scale: cc.v3(1, 1, 1),然后删除 ctor 中设置 _scale 的代码;
  2. 同步 editor builder 对 _scale 的默认属性,prefab 打包之后移除 _scale 为 1 的字段;

这样的好处就是 json 文件也是保持更小,对于 cc.instantiate 和 手动 new cc.Node 都是一样的效果了,而且使用习惯上 scale 为 1 也是更合理吧。

你好,在2.0.9上不会出现这个问题。
不知道你测试的是哪个版本?

这个我们内部解决了,应该修改了引擎导致的