cocos 事件分发2

时间:2023-03-09 22:14:45
cocos 事件分发2

cocos的事件分发器CCTouchDispatcher,存在两个通道,

m_pTargetedHandlers存储CMenu,CScrollView的事件处理器,

这里的处理器,在处理过消息后,会声明bClaimed为True,表示事件有被处理过,如果处理器isSwallowsTouches为真,则处理过的消息将被吞噬掉,并且直接跳出对m_pTargetedHandlers的遍历,并且会把消息从消息列表中删除,后续的标准消息处理器将不会收到吞噬的消息。(menu默认会吞噬,CScrollView默认不会)

m_pStandardHandlers存储layer的事件处理器,并且,没有吞噬消息的逻辑。