事件流

AS3 Signals学习笔记01

╄→гoц情女王★ 提交于 2020-02-29 21:43:33
最近在工作中无意才接触到了as3 signals这个玩意。AS3 Signals是个开源的轻量级框架,这个框架基本可以代替as3中内置的事件这套工作机制。好棒!因为在项目中,使用as3内置事件框架必须通过自定义事件才可以实现值的传递,大量自定义事件、定义常量和整个事件派发的管理、添加侦听器、移除侦听器,或多或少都会带来大量的代码,而signals这个框架思想原来在C#中原本就有,作者整合了C#中的signals思想,实现起来比as3内置的事件更快捷,可以很轻松的实现多个强类型值的传递,的在一定程度上也会简化很多代码。有朋友测试,signals里面用内置的事件竟然是as3内置事件运行速度的4倍。这个我还没测试。 我们知道上图就是as3中的事件流,而在as3中要想派发事件,那派发者必须继承 EventDispatcher或者实现IEventDispatcher接口。在Signals中就派发者就不用这么麻烦了。 Signals: Think Outside the Event Signals:脱离事件思考 signal的中文意思是“信号”,那具体指的是什么呢? 什么是Signal? 一个Signal其本质上是一个微型的针对某个事件的特定的派发者,附带它本身的监听者数组。 一个Signal的基本概念就是,不会使用类似内置事件那种方式、基于字符串的频道,而是化为一个类中具体的event