3.3.2 关于BlockEventInput的奇怪问题

今天突然发现一个奇怪的问题,BlockEventInput可能受layer影响?但是试了下也没找到什么规律,然后建立了一个demo。

测试1
scrollview节点与blockEventInput节点同一个layer、或者不同layer都有屏蔽效果。

测试2
scrollview节点挂在父节点上与blockEventInput节点不同layer,屏蔽失效

测试3
不同layer屏蔽生效。

我看官方文档也没说这个屏蔽和layer有关吧,求官方解答。@jare

附测试demo
BlockTest.zip (1.5 MB)

同遇到这个问题,看blockEventInput的解释应该是和layer无关才对。

是否屏蔽取决于节点的遮挡关系,和 layer 无关。如果屏蔽失效可以在 block node 上添加一个 Sprite 看看尺寸和位置是不是没遮住下面的节点。

@jare 我再发贴前用sprite试过,大小可以遮住,但是依然可以滚动

下图就是在block节点加了红色的sprite,我现在怀疑layer是DEFAULT的貌似会有特殊处理。
soogif

修改后的demo下载BlockTest.zip (1.4 MB)

自己再顶下吧,节点test2和test3区别就是layer不一样,test3是拷贝test2的,目前看scrollview有父节点的时候就会有这个问题。
如果demo有用的不对的地方也请指出哈~我记得2.x用的一直没出过问题

使用上有些问题
UI 最好用的都是同一个 UI_2D layer,用同一个 camera 去渲染
底层事件派发是先找到渲染 UI 的 camera,再去做事件优先级的排序

场景里边有一个 main camera 和一个 camera,都在渲染 block 节点,目前的行为是不确定的,同时也是会降低渲染效率的

我把main camera删除后就都好了…

学到了 。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。