removeListener почему не работает @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 6 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Заголовок сообщения: removeListener почему не работает
Сообщение Добавлено: 29 Март 2007, 14:23:53 
Код:
var mouse_scroll:Object = new Object();
   mouse_scroll.onMouseWheel = function(delta) {
      if (delta>0) {} else if (delta<0) {}
   };
   Mouse.addListener(mouse_scroll);
   Mouse.removeListener(mouse_scroll);


уже достал меня этот глюк, то ли флеш глючный, то ли в хелпе неправильно написано ….
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 29 Март 2007, 14:44:14 
точнее он работает но както странно, например если создать в клипе Mouse.addListener , потом перейти на кадр где нет этого клипа, вернутся обратно и сделать Mouse.removeListener, то не сработает, получается что каждый раз надо принудительно удалять при выходе из зоны действия …. неудобно
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 29 Март 2007, 14:58:58 
Подумай о деструкторах.

Код:
Mouse.addListener(this);
trace(Mouse["_listeners"].length);
function onUnload()
{
   Mouse.removeListener(this);
   trace(Mouse["_listeners"].length);
}



Просто ситуация вот такая:

var mc = createEmptyMovieClip("mc", 1);
var list = [mc];

mc.removeMovieClip();

А теперь CTRL+ALT+V и посмотри что у тебя в массиве.
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 29 Март 2007, 15:12:53 
@st@l@vist@, :beer:

вот так работает !

Код:
function onUnload() {
   Mouse.removeListener(this.mouse_scroll);
}
onUnload();
var mouse_scroll:Object = new Object();
mouse_scroll.onMouseWheel = function(delta) {….}
Mouse.addListener(mouse_scroll);
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 29 Март 2007, 15:33:17 
Eduard, если честно, то я не понял, что у тебя не работает и что ты такое сделал :laugh:
Eduard Муж.
участник
61
Сообщения: 1629
Зарегистрирован: 24.09.03
Откуда: St.Petersburg , Moscow
Сообщение Добавлено: 29 Март 2007, 15:56:52 

@st@l@vist@ писал(а):
Eduard, если честно, то я не понял, что у тебя не работает и что ты такое сделал :laugh:

:laugh: , я проверил теперь все ок, просто без удаления каждый раз когда заходил в клип с mouse_scroll, поворот колесика на мышке увеличивался на 1, т.е. onMouseWheel срабатывала несколько раз.
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 6 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100