Просмотр полной версии : Проблема с Mouse.addListener
Сделал скролбар.
На самом скроллбаре мышка мышка реагирует на release, mouseDown и т.д. Захотел добавить мышиное колесо. пишу:
this.onRollOver = function() { Mouse.addListener(this); }
После этого ни на что кроме мышиного колеса клип не отзывается.
Что не так?
код в студию, по тому что ты написал не понятно что значит: "После этого ни на что кроме мышиного колеса клип не отзывается."
"После этого ни на что кроме мышиного колеса клип не отзывается."
Ни один хэндлер не работает, видимо
this.onRollOver = function() { Mouse.addListener(this); }
this.onRollOut = function() { Mouse.removeListener(this); }
this.onMouseWheel = function(delta, scrollTarget) {
ScrollMenuByMouseWheel(delta);
}
Хотя если написать просто
Mouse.addListener(this);
this.onMouseWheel = function(delta, scrollTarget) {
ScrollMenuByMouseWheel(delta);
}
всё прекрасно работает (понятно, что такой вариант некорректен).
По видимому, я перекрываю событие rollOver для клипа скроллбара (this) и всех его дочерних клипов. Но почему пропадает также и onRelease, например?
ЗЫ. Не существует ли способа "дополнить" обработчик события? Пример: я в своем проекте создаю мувик, для которого описываю onRollOver. А потом хочу этот же мувик подсунуть как один из параметров классу, при этом класс хочет назначить клипу свой собственный обработчик onRollOver, не стирая старый. Реально осуществить?
проблема с перекрытием мышиных событий у дочерних известная..
и здесь тож обсуждалась неоднократно (не припомнить тока конкретно где..)
имхо в конкретной ситуации дешевле все решить отслеживанием хитТеста,
хотя были и потуги глобального решения вопроса см. например здесь (http://silin.fatal.ru/AS2/realmouse/index.html) и здесь (http://flash-mx.ru/forum/topic_show.pl?tid=691) (в качестве информации к размышлению)
Отл, спасиб, хиттест помог.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.