widget 在不同平台上的误差「异步导致的吗」

Mac Creator 2.1.3
iPhone 11

我发现节点在使用了 Widget 之后,在不同平台上的误差非常的大,究根揭底经过我反复测试发现,是由于异步导致的。

首先在Chrome 上基本还算正常。
但是在native上,怀疑是异步导致的,一旦我加了一个延迟50毫秒,然后获取的数据才会正常。

比如如下:
一般情况下,我在编辑器中设置好节点node,挂上Widget后,在代码里获取 node.getBoundingBox(),在chrome开发时,一切OK,待一切差不多,移植在native上开发测试,返回的数据是错误的。

这很难发现。

所以开发Native平台,使用Widget是不是还有挺大的风险?确实造成了很多显示上的头大的问题。

期待官方验证一波

很早之前(大约creator的远古版本1.4的时候)就增加了一个API叫做updateAlignment,在代码中如果想要立即获得widget生效后的大小尺寸,需要先调用updateAlignment,然后再去getContentSize。

官方文档中也有这块的说明:

另外Widget并没有什么风险。
麻烦下次论坛search一下,或者先看下相关的官方文档。

没用!!
我现在项目中有很多地方有类似的问题,都是通过加延迟解决的,你恐怕不信。可惜,我现在整个项目没法给你。

我知道你想要demo,我尽量抽空弄一下发上来。

好的,到时候@我一下