pauseSystemEvents、resumeSystemEvents 的Bug【可复现】

可见按钮 pauseSystemEvents后,按钮隐藏再 resumeSystemEvents,该按钮事件失效!

代码如下:

    let btn = find('Canvas/Button');

    btn.on(cc.Node.EventType.TOUCH_END, ()=>{
        console.log('click');
    })

    this.scheduleOnce(()=>{
        this.node.pauseSystemEvents(true); 
        btn.active = false;
        this.node.resumeSystemEvents(true);
    }, 1);  

    this.scheduleOnce(()=>{
        btn.active = true;
    }, 3);

测试环境:chrome + cocos3.8.4

补充:舞台需要放一个 scrollView

demo:https://cdn-applet.flash8f.com/pandaHomeLand/app/web_cn/click_bug_demo.zip

这边测试是正常的,可否给一下能复现的 demo,或者视频

demo已补充

好像也可以 :sweat_smile:

麻烦看看 3.8.4呢?(我用的是 3.8.4)

好的,我们看看

https://cdn-applet.flash8f.com/pandaHomeLand/app/web_cn/QQ2024125-114134-HD.mp4

我又用demo测试了3.8.5,好像不是100%复现,而是有几率。
不断刷新多次,比如视频第5秒,按钮正常可点击;
第18秒和1分30秒 按钮就点不了。

你在 active 设置为 true 的时候在 resumeSystemEvents 看看

明白,先设 active 设置为 true 的时候再 resumeSystemEvents 是没问题的。
但应用场景是如demo那样 先 resumeSystemEvents(true), 再子节点active=true。

这个会建个 issue 看是否是 bug,如果是会进行修复

参考这个 PR 修改看看:

:ok_hand: