GlobalMouse

Во времена AS2 мышиные события типа onMouseUp, onMouseDown, onMouseWheel, onMouseMove были глобальными, с приходом AS3 эти события теперь жестко привязаны к InteractiveObject. Не желая с этим мириться, я написал класс GlobalMouse, позволяющий любому объекту получать данные события, а также захватывать скролл мыши от браузера (если скролл мыши не захвачен, а так и происходит в AS3, то можно столкнуться с такой ситуацией, что при прокручивании ComboBox прокручивается ещё и вся страница с флешкой).
Source.

UPDATE: Причесанный класс только для захвата мыши.

17 Responses to GlobalMouse

  1. Pingback: Action Script 3 » Глобальные события мыши.

  2. Изврат =)
    Но генерации AS1/2 сриптов в рантайме можно поискать более лучшее применение.

  3. Это — одно из них, особенно, когда нужен Mouse из AS2.

  4. Антон

    Пытался, но так и не смог разобраться, в чём главная идея реализации? Буквально в двух словах если можно.

  5. Главная идея:
    0. Подписываться на глобальные события мыши, как в AS2, везде и всюду, в любом классе;
    1. Не иметь привязки ни к какому InteractiveObject, необходимости наследования, отрисовки чего-либо;
    2. Захват скролла мыши от браузера (в AS3 скролл продолжает работать в самом браузере).

    Если же вопрос относительно самой реализации, то там просто генерируется ролик с AS2-кодом, загружается в Loader, затем с роликом устанавливается LocalConnection. Ролик высылает соответствующие оповещения через LocalConnection. Для того, чтобы ролик работал сразу в нескольких окнах, при инициализации создается уникальное имя соединения. Как-то так…

  6. Антон

    Да, я за реализацию спрашивал, спасибо.
    Попытаюсь теперь с вашими подсказками врубиться в код :)

  7. а зачем там Loader? смотрю как баран на код и не доходит никак… :/

  8. Пардон, плохо читал комменты, дошло. :)
    “43575309DC020000789C9590C14…”;
    это и есть загружаемый as2 ролик? а что в нем за код?

  9. Ну да, он самыый. А это имеет значение, что там внутри? :)

  10. да, крайне интересно

  11. Просто создается LocalConnection и передеача событий мыши через него.

  12. Pingback: Flash. Проблемы с прокруткой. « KrOlSer’s Weblog

  13. Pingback: Mozilla vs SWF | RIA crumbs

  14. Самая нужная вещь. Пасиб большое. Очень помогло.

  15. Pingback: Записки о Flash » Захват колеса мыши

  16. душевное спасибо.

  17. День добрый!
    столкнулся со следующей проблемой:
    флэш-сайт на весь экран. Как только делаю wmode=opaque, то мышь перестает скроллить по сайту! возврашаешь window – все скроллит!

    Как это исправить??? просьба разъяснить как тупому, ибо только-только осваиваю флэш…

    P.S. Увы, но Opaque нужен, чтобы поверх флэш-сайта отображалась в одном из углов анимашка-гиффка: такое пожелание заказчика.

    Буду рад услышать ваши советы!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>