Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отследить MOUSE_UP/MOUSE_DOWN (http://www.flasher.ru/forum/showthread.php?t=178688)

leff27 27.04.2012 01:33

Отследить MOUSE_UP/MOUSE_DOWN
 
Как можно узнать находится мышь в состоянии UP или DOWN??
Мне нужно сделать, чтобы при возвращении в объект, если кнопка является отжатой, то выполнялась функция stopDrag... Или может быть как-то можно отследить, что, если за объектом произошло MOUSE_UP, то выполнялось бы stopDrag ???

Код AS3:

player.parent.addEventListener(MouseEvent.MOUSE_UP, stopdrag2)
function stopdrag2(e:MouseEvent):void{
        player.slider_mc.mc.parent.removeEventListener(MouseEvent.MOUSE_OUT, stopdrag3)
        player.slider_mc.mc.stopDrag();
}

^не работает^

Wolsh 27.04.2012 08:57

MouseEvent#buttonDown

leff27 27.04.2012 09:14

А как это использовать?
Код AS3:

if(MouseEvent.buttonDown == false){
                trace("lol");
        }

Не работает, на сайте adobe написано, что принимается значения true/false
ps Пишу в кадрах

Wolsh 27.04.2012 09:42

При чем тут класс MouseEvent?
Это свойство экземпляра а не класса. Вы же принимаете в функции параметр e:MouseEvent. Вот у него и спрашивайте, нажата ли кнопка мыши в момент, когда это событие было сгенерировано.

Добавлено через 12 минут
Код AS3:

if(e.buttonDown){
        trace("DOWN");
} else {
        trace("UP");
}

Добавлено через 22 минуты
Цитата:

Или может быть как-то можно отследить, что, если за объектом произошло MOUSE_UP, то выполнялось бы stopDrag ???
Отпускание мыши надо ловить стейджем, а не кнопочкой или ползунком. В AS2 для этого было событие ReleaseOutside или как-то так)) В системе отображения AS3 оно стало бессмысленным, код не привязывается жестко на объект и можно ловить MOUSE_UP, посылаемый stage, то есть в любом месте. Кроме того, есть событие MOUSE_LEAVE когда мышка покидает само окно плеера.

leff27 27.04.2012 11:13

Всё сделал, wolsh, спасибо!


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

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