cocos2d/cocos2d-x

EventDispatcher 存在bug

QuiQiJingFeng opened this issue · 0 comments

  • cocos2d-x version:3.17.2
    在onTouchEnded中调用event:stopPropagation()有问题。
    因为这个只是停止了当前事件继续往后面的监听器分发,但是
    后面的监听器中_claimedTouches没有清理。
    造成的结果就是,比如点击了一个关闭按钮,同时触发了关闭按钮的回调以及一个不相干的回调,
    原因就是另一个监听器的_claimedTouches没有清理。

目前的解决方法是 dispatchTouchEvent中的EventTouch::EventCode::ENDED 和 EventTouch::EventCode::CANCELLED中清理所有监听器的_claimedTouches
11111