Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   startDrag объект не успевает за мышью (http://www.flasher.ru/forum/showthread.php?t=187770)

AlexLucas 23.11.2012 21:58

startDrag объект не успевает за мышью
 
Доброго времени суток.
Пытаюсь перетаскивать малые спрайты с помощью startDrag(). Они перетаскиваются, но проблема в том что при startDrag я на них вешаю MOUSE_MOVE, и соответственно из-за того что при быстром перемещении мыши они за ней не успевают, они его не ловят. Пробовал на простейшем примере, всё равно не успевает.
Попробовал демку флексовского DragManager - там прокси тащится идеально. Вроде почитал - так и DragManager использует startDrag() .
Объясните - почему так ?

Hauts 23.11.2012 22:19

Цитата:

я на них вешаю MOUSE_MOVE
На stage попробуйте повесить.

А вообще я startDrag никогда не уважал.

Isfet 24.11.2012 07:38

Цитата:

А вообще я startDrag никогда не уважал.
ага, вместо старт драг, и стоп драг используйте MOUSE_DOWN и MOUSE_UP

Hauts 24.11.2012 10:23

Isfet, и MOUSE_MOVE

FlashRus 24.11.2012 10:31

FPS поднимите. Вот все решение.

ChuwY 25.11.2012 16:10

Цитата:

Сообщение от AlexLucas (Сообщение 1105843)
Доброго времени суток.
Попробовал демку флексовского DragManager - там прокси тащится идеально. Вроде почитал - так и DragManager использует startDrag() .
Объясните - почему так ?

Наверняка, там используется updateAfterEvent.

alatar 25.11.2012 17:09

Цитата:

Сообщение от AlexLucas (Сообщение 1105843)
Вроде почитал - так и DragManager использует startDrag() .
Объясните - почему так ?

Не использует. DragManager вообще не занимается непосредственно перетаскиванием картинки, этим занимается DragProxy. И он тоже не использует startDrag().

AlexLucas 26.11.2012 18:15

У меня много таких объектов, при перетаскивании которых надо будет выполнять разные действия. Т.е. если прицепить MOUSE_MOVE/UP к stage, у меня будет один обработчик, он получит объект который надо тащить и при MOUSE_MOVE будет обновлять координаты этого объекта, и вызывать нужные мне методы.
То есть единственный выход написать какой-то свой DragManager, т.к. флексовый DragManager используется для немного других целей ?

Повышение fps не спасает.
И при MOUSE_UP/DOWN объект также не догоняет мышь.

И всё-таки может кто-то знает как это реализовано в DragManager? Там прокси как приклеенная к курсору.
Цитата:

DragManager вообще не занимается непосредственно перетаскиванием картинки, этим занимается DragProxy.
И что такое DragProxy? Я такого класса не нашёл.

alatar 26.11.2012 18:25

Цитата:

Сообщение от AlexLucas (Сообщение 1106364)
Я такого класса не нашёл.

В документации его нет. Можете найти в исходниках в пакете mx.managers.dragClasses.

AlexLucas 26.11.2012 18:54

Но я не понимаю, в обработчике mouseMoveHandler же нет никакой уличной магии, просто передаются координаты мыши и всё.


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

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