事件小记

Creator的事件大致可以分为两类
其所有的事件都可以用on来注册,但是根据派发方式的不同会有不同的效果

  1. 第一类是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
  1. 第二类就是上面的 dispatchEvent 派发的事件了,这类事件可以冒泡,同类的事件可以传递而不是必须使用同一个订阅者。此类事件多见于系统内置的事件,例如点击事件等