Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   onMouseDown без DisplayObject. можно ли? (http://www.flasher.ru/forum/showthread.php?t=96078)

hayabu4i 22.05.2007 21:18

onMouseDown без DisplayObject. можно ли?
 
Можно ли отследить нажатие кнопки мыши без привязки к какому либо объекту?

BigDan 22.05.2007 22:24

нет...

etc 22.05.2007 23:00

Можно. Написал один способ, но жутко извращенный, но, тем не менее, рабочий. Напишу в блоге, когда он оживет.

etc 23.05.2007 01:53

Блог ожил.
Велкам: http://dev.etcs.ru/blog/as3/globalmouse/

Nirth 23.05.2007 04:00

а что мешает слушать в руте?

miramax 23.05.2007 04:53

Можно проще - http://as3.ru/?p=23
(=

Dendroid 23.05.2007 11:54

А почему нельзя привязаться к stage? Он никуда не денется. Зачем цепляться к timeline, что есть просто спрайт, прицепленный к stage?

Dendroid 23.05.2007 11:59

Лучше скажите чем заменить Mouse.addEventListener() в AS3 (чтобы сказать плееру, чтобы события прокрутки колеса не дублировались в браузер)? Похоже, Adobe в 9-м плеере просто забыли это сделать. :)

Timerlan 23.05.2007 12:11

а правда, какой смысл все это делать? чем плох root для этого?

etc 23.05.2007 13:19

Dendroid, проверь с GlobalMouse, может браузер перестанет крутить :)

Timerlan, не привязываться к каким-либо рутовым классам (ну и к самому _root) — давняя привычка ещё со времени AS2.

Ну и что касается решения miramax-а, то оно, безусловно, неплохое. Но есть пара недочетов, на мой взгляд:
1) (Самый главный) — необходимость наследования Document class от этого класса. Кому как, а мне такая цепочка наследования может помешать.
2) Все-таки привязка в InteractiveObject — на сцене висит прозрачный Sprite, который при перекрытии (а это произойдет безусловно) перестанет отлавливать события.
3) И все равно мы кликаем по какому-то визуальному объекту, а нужно было от этого уйти.

В конце-концов, два решения — не одно :)
Кому что удобнее, в общем.


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

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