![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Есть несколькоуровневая система: визуальный объект (для простоты - спрайт) addChild на сцену, следующий спрайт addChild на первый, следующий - на второй и т.д. Они все двигаются. Мне нужно цеплять мышкой и перетаскивать любой из этих спрайтов. Но появляется проблема - когда в MouseEvent.MOUE_DOWN я начинаю startDrag спрайт прикрепляется к курсору, но продолжает получать перемещения от своих parent'oв и соответственно тут же убегать от курсора. Как этого избежать? Нужно, чтобы спрайт оставался под курсором мышки. Простейший вариант - перецеплять его в корень сцены не проходит т.к. спрайт так же убегает от курсора в 0,0 сцены. Можно как-то просто заблокировать получаемые от parent'ов перемещения для спрайта?
__________________
interplanety |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 430
|
Попробуйте написать перетаскивание сами, без использования стандартных startDrag.
прикрепите пример, не совсем понятно.
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
|
Lorem ipsum
|
До начала драга запоминаем текущего родителя, узнаем абсолютные координаты (localToGlobal в помощь!), присваиваем новые координаты и добавляем себя непосредственно на stage.
По окончании драга находим свои координаты в родителе (globalToLocal в помощь!), которого предварительно запомнили до начала драга, присваиваем новые координаты, добавляем спрайт в родителя.
__________________
Поймай яблоко 2! |
|
|||||
|
Цитата:
Я думал, может есть способ попроще, конкатенейтед-матрица отсоединяется или еще что. Но видимо придется так и оставить.
__________________
interplanety |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|