Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема с Mouse.addListener (http://www.flasher.ru/forum/showthread.php?t=78088)

MyXus 08.04.2006 23:41

Проблема с Mouse.addListener
 
Сделал скролбар.
На самом скроллбаре мышка мышка реагирует на release, mouseDown и т.д. Захотел добавить мышиное колесо. пишу:
this.onRollOver = function() { Mouse.addListener(this); }
После этого ни на что кроме мышиного колеса клип не отзывается.
Что не так?

7thsky™ 09.04.2006 00:37

код в студию, по тому что ты написал не понятно что значит: "После этого ни на что кроме мышиного колеса клип не отзывается."

Antares 09.04.2006 01:07

Цитата:

Сообщение от 7thsky™
"После этого ни на что кроме мышиного колеса клип не отзывается."

Ни один хэндлер не работает, видимо

MyXus 09.04.2006 02:19

Код:

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, не стирая старый. Реально осуществить?

silin 09.04.2006 18:24

проблема с перекрытием мышиных событий у дочерних известная..
и здесь тож обсуждалась неоднократно (не припомнить тока конкретно где..)
имхо в конкретной ситуации дешевле все решить отслеживанием хитТеста,
хотя были и потуги глобального решения вопроса см. например здесь и здесь (в качестве информации к размышлению)

MyXus 09.04.2006 22:24

Отл, спасиб, хиттест помог.


Часовой пояс GMT +4, время: 08:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.