Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как узнать тип курсора? (http://www.flasher.ru/forum/showthread.php?t=168477)

Hamid 21.09.2011 13:43

Как узнать тип курсора?
 
Всем привет! Как определить какой тип курсора щас стоит? стрелка, рука и т. д. Как выбрать нужный режим нашел, а вот как его определить нет. Весь инет обыскал)) Помогите, ооочень нужно.

goodguy 21.09.2011 13:50

http://help.adobe.com/ru_RU/FlashPla...air=2.6#cursor

Hamid 21.09.2011 13:59

goodguy, я это в первую очередь там посмотрел, но не могу понять как он возвращает?
делаю
Код AS3:

trace(MouseCursor);

пишет [class MouseCursor]. Как быть?

fish_r 21.09.2011 14:17

Код AS3:

trace( Mouse.cursor );

?

goodguy 21.09.2011 14:22

Код AS3:

if (Mouse.cursor == MouseCursor.HAND) {
      trace("курсор - рука");
} else if (Mouse.cursor == MouseCursor.ARROW) {
      trace("сейчас курсор - стрелка");
}

и т.п.

Hamid 21.09.2011 14:55

fish_r, это тоже приходило в голову
Код AS3:

trace(Mouse.cursor);

но! Все время выдает auto, так что, goodguy Ваш код тоже не помогает. Такое ощущение, что через маус и прочее не определить, только библиотека system может? Хотя в справке написанно:
cursor свойство
cursor:String
Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5
Задает или возвращает тип курсора или (для встроенного курсора) имя курсора.

Значение по умолчанию – flash.ui.MouseCursor.AUTO!!!, а я то меняю его на курсор-руку! Или я тупой или они врут((

fish_r 21.09.2011 14:59

Вероятно в системе он по-умолчанию "авто". Если вы его смените через свойство, тогда он вернет вам то состояние которое вы ему задали.

Hamid 21.09.2011 15:05

Я ему даже насильно задаю
Код AS3:

MouseCursor.BUTTON;

а ему без разницы, как была стрелка, так и осталась. И трейсит авто. В голову вообще не лезет, как это может быть.

Добавлено через 6 минут
Мне это нужно определить чтоб решить вот такую проблему: есть спрайт(спрайт кстати в режиме кнопки, т.е. курсор при наведении меняется на руку), у него есть два слушателя - нажатие кнопки мыши и отпускание. Если я отпускаю кнопку мыши при этом мышка за пределами спрайта, то естественно, уже этот слушатель не регистрируется, но при этом курсор становится стрелкой. Я хотел через курсор проверять отпускание клавиши мыши. Есть еще другой подход, надо как-то слушать глобальные события мыши, кто что знает об этом?

GBee 21.09.2011 15:13

Код AS3:

Mouse.cursor = MouseCursor.BUTTON;

?
А под какой плеер вы это делаете?

Hamid 21.09.2011 15:19

10 плеер.

GBee 21.09.2011 15:26

10.0.0.0?
Цитата:

Note: For Flash Player 10.2 or AIR 2.6 and later versions, this property sets or gets the cursor name when you are using a native cursor. A native cursor name defined using Mouse.registerCursor() overwrites currently predefined cursor types (such as flash.ui.MouseCursor.IBEAM).
Правда я осмысленно перевести не могу, но может есть какая то соль.


Цитата:

Мне это нужно определить чтоб решить вот такую проблему: есть спрайт(спрайт кстати в режиме кнопки, т.е. курсор при наведении меняется на руку), у него есть два слушателя - нажатие кнопки мыши и отпускание. Если я отпускаю кнопку мыши при этом мышка за пределами спрайта, то естественно, уже этот слушатель не регистрируется, но при этом курсор становится стрелкой. Я хотел через курсор проверять отпускание клавиши мыши. Есть еще другой подход, надо как-то слушать глобальные события мыши, кто что знает об этом?
При нажатии на спрайт, подписаться на отжатие у стейджа.

Kidd002 21.09.2011 15:26

Для того чтобы узнать нажали ли кнопку достаточно слушать MouseEvent.CLICK.
Если же вам нужно знать где именно отпустили кнопку мыши, то помимо событий MOUSE_DOWN и MOUSE_UP можно слушать события MOUSE_OUT, MOUSE_OVER.

goodguy 21.09.2011 17:01

Цитата:

Я ему даже насильно задаю
Что-то слабо верится. Можно код глянуть? Там либо в коде ошибка, либо, как уже сказали выше, плеер более старый.
Я уже много раз это делал, и все всегда работает.


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

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