摘要:
EventDispatcher对监听器进行管理,围绕着监听器工作。可以添加、删除、暂停/恢复监听器、分发事件到监听器。 1. 一些成员 2. 添加监听器: 2.1 添加和场景图优先级一致的监听器 addEventListenerWithSceneGraphPriority(EventListener 阅读全文
摘要:
1. 定义 用枚举定义脏标记的4种类型。 这里用两位二进制值表示4种类型: 00 两容器都不脏, 01 仅自定义优先级监听器容器脏了, 10 仅场景图监听器容器脏了, 11 都脏了。 2. setDirty 参数为监听器ID、要置的脏值。 利用容器_priorityDirtyFlagMap存储脏标记 阅读全文
摘要:
1. 事件分发方法 EventDispatcher::dispatchEvent(Event* event) 首先通过_isEnabled标志判断事件分发是否启用。 执行 updateDirtyFlagForSceneGraph()。把一些node对应的ID置脏标记。 对_inDispatch++, 阅读全文