有两个问题,比较严重,关于预制件刷新和缩放的

cocos creator 版本:1.8.1
1.预制件的缩放,原本是只设置的x方向为-1,y方向仍然是1,在编辑器上面显示的正确的,但是一旦重新拖一个预制件出来,就会发现y方向也被设置成-1了(这个可以参照demo)
参照链接:http://forum.cocos.com/t/cocos-creator-v1-9-0-2-13-rc-2/56577/5 第二楼我的回复

2.当有A预制件包含了A1预制件时,即使我去单独更新了A1预制件的基本属性(position或者scale),A预制件的A1组件仍然是旧的
PS:同时发现了一个导出的问题,就是组合的预制件资源使用导出功能竟然是不包含被嵌套的组件。也因为这个,问题2的demo无法给出。不过你们可以试一试,这些都是必现的
demo.zip (22.1 KB)

关于缩放的时候,控制台出现了一下信息
ScaleX != ScaleY. Don’t know which one to return

  1. 抱歉我这边还是重现不了,不管怎么拖始终都是 -1, 1。应该是你有什么额外的步骤导致的?
  2. 预制是不能嵌套的,如果你嵌套应该是会有警告的。

这个是 Cocos2d-x 的设计,不是 bug。因为 scale x,y 不等,当尝试获取 scale 时就会有这个提示。

你好,
1.发现正确的重现方式了,我原来那个是button,当我设置transition属性为scale时就有问题,换成sprite就没有问题
2.如果不能嵌套的话,那岂不是不能做基础组件的抽离吗?比如我有一个公共的小功能,然后其他组件用到了,这个需求应该是很常见的吧。如果不能嵌套的话有别的方式可以实现类似的效果吗

1赞

其它预制想使用公共预制,要么挂脚本上,要么拖节点上,拖到节点上,就属于这个预制的一部分了,和普通节点一样了,和之前的公共预制源也没关系了

如果我想要更新这个公共预制的话岂不是每一份用到的组件都需要更新一次?

你好,
1.发现正确的重现方式了,我原来那个是button,当我设置transition属性为scale时就有问题,换成sprite就没有问题
2.如果不能嵌套的话,那岂不是不能做基础组件的抽离吗?比如我有一个公共的小功能,然后其他组件用到了,这个需求应该是很常见的吧。如果不能嵌套的话有别的方式可以实现类似的效果吗

之前的cocos studio的一个做好的页面,拖动到别的页面上,也是可以及时更新的。为啥现在creator就不支持了:weary:

如果挂在节点上,那就是这样的,如果你经常更新,那就挂在脚本里,每次使用instantiate

那这明显不是 bug,而是 button 的期望行为

是的,我们计划 18 年底或者 19 年会支持 Prefab 嵌套的

19年嘛,很快的,大家的项目要耐心等等

翻转的问题是不是可以理解成应为要做缩放action,所以必须两个方向一致?解决的方式就只能出新图了?

翻转是因为你的 button 设置了缩放,button 只支持 1:1 缩放。

感觉这里强制还原的时候 最好加一个提示 很容易给人造成误解(怎么设置不了)
应该有不少人都碰到这个问题 然后去查 才知道 哦 原来BUTTON不能这么设置

button点击的缩放过渡效果,默认是宽高都缩放相同的比例,有特殊需求的可以自己封装一个button