三种方式:
注意:方式1和方式2的事件的处理是单线程的,并且仍然在原线程执行,如果脚本主体或者其他事件处理中有耗时操作、轮询等,则事件将无法得到及时处理(会进入事件队列等待脚本主体或其他事件处理完成才执行)。
比如,一个脚本中有x.js和y.js,这时x.js中的有个变量c改变了想通知y.js,如果这时如果y.js的主程序一直在忙,那么它就没有时间处理事件和广播,所以你通过方式1或者方式2的话,y.js就收不到通知。 这时有两个解决办法:办法1,给y.js占用时间的程序创建一个新的线程 ;办法2,使用方式3。
方式1:用引擎 e.getEngine().emit("say", "你好");
方式2:用广播 events.broadcast
方式3:用storages