Просмотр полной версии : Прекращение выполнения всех событий
Есть много объектов, которые реагируют на разные события. Возможно ли сделать так, чтобы на определенное время все объекты перестали реагировать на все события, а потом все события восстановились?
Храните ссылки на объекты в списке, например в массиве. В Ваш "определенный момент" пробегитесь по списку и отписываете все объекты от события.
for(var i:int = 0; i < objectsList.length; i++){
var obj:MyObject = objectsList[i];
obj.removeEventListener("MY_EVENT", eventHandler);
}
Таким же образом можно обратно повесить слушатели.
Храните ссылки на объекты в списке, например в массиве. В Ваш "определенный момент" пробегитесь по списку и отписываете все объекты от события.
for(var i:int = 0; i < objectsList.length; i++){
var obj:MyObject = objectsList[i];
obj.removeEventListener("MY_EVENT", eventHandler);
}
Таким же образом можно обратно повесить слушатели.
Флешка уже сделана, сейчас все объекты заносить в массив очень проблематично.
Заведите флаг(переменную) отвечающий за ваш "определенный момент". В обработчике события проверяйте флаг если он false выполняем код обработчика, если true выходим из него
private function eventHandler(e:Event):void{
if(flag){
return;
}
//handler code....
}
Вам так или иначе вносить изменения в код. Так, я думаю, лучше сделать все по уму, чем выдумывать костыли.
Есть много объектов, которые реагируют на разные события. Возможно ли сделать так, чтобы на определенное время все объекты перестали реагировать на все события, а потом все события восстановились?
Возможно. Достаточно понять из-за чего возникают события и перекрыть им кислород.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.