我们通常需要停止一个事件的侦听(通常是enterframe),但可能并不想直接移除侦听器,比如我们可能很快还要开始这个侦听或者频繁“开关”这个侦听。
对于这种情况有一个技巧,就是设置一个全局布尔变量,在这里我们将其命名为switch,将它放在侦听函数的最开始来判断,如果他是“开着的”,那么我们就退出侦听器。否则继续执行即可。
代码:
private var switch:Boolean=false;
public function onEnterFrame(e:Event):void
{
if(switch)
return;
}
然后我们只需要在其他地方(比如click的侦听函数中)改变switch的值即可。