所有的Starling对象都继承自EventDispatcher类。就像
原生Flash中一样,Starling中所有EventDispatcher的子类(事实上就是全部类,因为全部类
都继承自它)都提供了以下一些API来分发/接受事件:
∗ addEventListener : 为指定事件添加事件侦听器.
∗ hasEventListener : 为指定事件监测是否具备事件侦听器
∗ removeEventListener : 移除某个事件侦听器
∗ removeEventListeners : 移除一个对象中对某一事件或全部事件添加的侦听器
你应该注意到,在原生Flash提供的那些API基础上,Starling又额外提供了一个极其有用的
API——removeEventListeners。在任何时候只要你想移除某个对象对于某个事件注册的全
部事件侦听器,只需要调用该方法并传入欲移除的事件类型作为参数即可:
button.removeEventListeners(Event.TRIGGERED);
若你想要一次性移除某个对象的全部事件侦听器(无论是对什么事件注册的),只需要保持
removeEventListeners方法的参数为空即可:
button.removeEventListeners ();
其实,在之前提到过的removeChild 方法中,若dispose参数为true,目标对象内部就是通
过对其全部子对象调用removeEventListeners这个方法来实现彻底清理。
原生Flash中一样,Starling中所有EventDispatcher的子类(事实上就是全部类,因为全部类
都继承自它)都提供了以下一些API来分发/接受事件:
∗ addEventListener : 为指定事件添加事件侦听器.
∗ hasEventListener : 为指定事件监测是否具备事件侦听器
∗ removeEventListener : 移除某个事件侦听器
∗ removeEventListeners : 移除一个对象中对某一事件或全部事件添加的侦听器
你应该注意到,在原生Flash提供的那些API基础上,Starling又额外提供了一个极其有用的
API——removeEventListeners。在任何时候只要你想移除某个对象对于某个事件注册的全
部事件侦听器,只需要调用该方法并传入欲移除的事件类型作为参数即可:
button.removeEventListeners(Event.TRIGGERED);
若你想要一次性移除某个对象的全部事件侦听器(无论是对什么事件注册的),只需要保持
removeEventListeners方法的参数为空即可:
button.removeEventListeners ();
其实,在之前提到过的removeChild 方法中,若dispose参数为true,目标对象内部就是通
过对其全部子对象调用removeEventListeners这个方法来实现彻底清理。