小心 3.6 Mask

  • Creator 版本: 3.6

今天我升级了3.6版本,没有做任何其他操作想上传的时候,发现有个格式不对!!!
image
Unit1的Un被掩盖了,当时我没多想,以为是适配没做好,我去编辑查,发现应该没错呀。
image
于是我运行后再查节点树,发现多出来一个节点。
image
它有如下结构,我不知道它是用来干啥的,我可以肯定我没有添加这个东西,因为3.5版本的已经上线了,根本没出现这个问题。
image
而且这个节点出现之后,居然不进行适配,造成上面所描述的情况。
此节点的父节点有加上这个东西。


有layout节点按道理它应该适配的。
希望官方出来解释和给个解决方案。

用了mask就会自动生成这个mask_child.之前我问过了

什么时候的事情,3.5的时候也没看见有

Cocos引擎_游戏开发引擎 可以看一下 3.6的升级说明

  • 由于引擎内部会对 Mask 下的节点做特殊处理,在获取 Mask 下的子节点时,建议使用 getChildByName 函数,通过名字而非索引来获取,以避免不可预料的问题出现。

这个应该就是你问题的答案

不不不,我的主要问题是我用来layout组件,因为这个多出来的节点让我无法正常适配

应该是引擎代码那块把这个节点的高和宽设为0

那要官方及早处理了,确实是个问题 建议另开一贴 提醒官方 或者去官方帖子下面反馈 让他们早些修复

可以提供一个简单的 demo 来描述一下需求吗?是 mask 与 layout 一并使用吗?

对,mask跟layout一起用,mask造成的节点影响layout的适配。这个问题应该会造成绝大多数需要滑动效果的项目

NewProject.zip (2.6 MB)
做了个简单的demo

这个问题只会出现在 mask 和 layout 同时存在与同一个节点上时,但实际上滑动列表 scrollView 中,和 layout 同级的 mask 是没什么意义的,范围显示拘束的话一个 mask 就可以完成啦,或者是有什么特殊的需求?

也感谢您的反馈~我们也会尽快处理这个需求的~

可能我这个比较特殊一点,我需要做一个类似走马灯的效果。现在能搞个临时方案处理吗

请稍等我会出个方案给您~

1赞

ヽ( ̄▽ ̄)و好的,谢谢~

真的一点意义都没有?

您可以参考这个PR来修复一下 https://github.com/cocos/cocos-engine/pull/12461
我们之后会进行更好的更改来修复这个问题~

1赞

并不是,可能会有我们没有想到的需求,希望能反馈给我们,让我们能更好的实现各类组件~
希望 Cosos 能和大家一起进步变得更好~

这对了,一起努力!

好的ヽ( ̄▽ ̄)و