-
Creator 版本:2.0.7
-
目标平台: Web
为了解决WebView错位问题,详见(https://forum.cocos.com/t/webview-widget/72075),我将Cocos Creator从2.0.5升级到了2.0.7。升级之后其它功能ok,但scale属性的行为并不一致,详情见下。
功能:基于Prefab动态生成节点,并使用Layout Grid布局。
核心代码:
let resourceNode = cc.instantiate(this.resourcePrefab);
resourceNode.scale = 1;
resourceNode.setParent(this.node);
注意,这里的scale为1。
在2.0.5中渲染没问题:
将resourceNode.scale = 1;更改为resourceNode.scale = 0.5;,效果如下:
这里的效果确实是我想要的。即,缩放元素,Layout自动适应。
但是在2.0.7中,行为发生了变化!!!
首先看看scale为1时的情况:
ok,没有问题,效果如初。
将resourceNode.scale = 1;更改为resourceNode.scale = 0.5;,效果如下:
可以看到整个元素所占的大小和位置并没有变化,只是里面的元素全部缩小了,和2.0.5版本中的行为并不一致。
工程附件:scale-problem.zip (587.0 KB)
一点后话。我做Cocos开发时间不长,但在使用Cocos
Creator进行开发的时候,真的经常感觉一种无力感。这种无力感不是因为自己完成不了需求,做不出来效果而产生,真的是因为Cocos这个框架本身。本来只是需要解决WebView错位问题,可按下葫芦起了瓢,现在又需要解决scale行为不一致的问题。大量的时间和精力耗费在框架本身上,连小版本号更新都有这样的Break
Change,我们这些开发者对Cocos的信心到底从何而来呢?




