Creator的事件大致可以分为两类
其所有的事件都可以用on来注册,但是根据派发方式的不同会有不同的效果
- 第一类是emit派发的事件,这类事件就是一个简单的发布订阅模式,一般是在谁身上订阅就调用谁来发布,简单来说就是这个事件只能在一个节点上触发,不同的节点就算是同一个事件也不会触发。例如:
A.on('xxx', () => {console.log('A执行xxx')} );
B.on('xxx', () => {console.log('B执行xxx')} );
B.parent = A;
B.emit('xxx'); // 此时打印 B执行xxx
B.dispatchEvent(new cc.Event.EventCustom('xxx', true)); // 此时打印 B执行xxx 换行 A执行xxx
- 第二类就是上面的 dispatchEvent 派发的事件了,这类事件可以冒泡,同类的事件可以传递而不是必须使用同一个订阅者。此类事件多见于系统内置的事件,例如点击事件等