Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.01.2014, 14:18
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 1  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
По умолчанию Как отсечь перевдижения, получаемые от parentа?

Есть несколькоуровневая система: визуальный объект (для простоты - спрайт) addChild на сцену, следующий спрайт addChild на первый, следующий - на второй и т.д. Они все двигаются. Мне нужно цеплять мышкой и перетаскивать любой из этих спрайтов. Но появляется проблема - когда в MouseEvent.MOUE_DOWN я начинаю startDrag спрайт прикрепляется к курсору, но продолжает получать перемещения от своих parent'oв и соответственно тут же убегать от курсора. Как этого избежать? Нужно, чтобы спрайт оставался под курсором мышки. Простейший вариант - перецеплять его в корень сцены не проходит т.к. спрайт так же убегает от курсора в 0,0 сцены. Можно как-то просто заблокировать получаемые от parent'ов перемещения для спрайта?
__________________
interplanety

Старый 15.01.2014, 14:27
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 2  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Попробуйте написать перетаскивание сами, без использования стандартных startDrag.
прикрепите пример, не совсем понятно.
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь.

Старый 15.01.2014, 14:37
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 3  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
До начала драга запоминаем текущего родителя, узнаем абсолютные координаты (localToGlobal в помощь!), присваиваем новые координаты и добавляем себя непосредственно на stage.

По окончании драга находим свои координаты в родителе (globalToLocal в помощь!), которого предварительно запомнили до начала драга, присваиваем новые координаты, добавляем спрайт в родителя.
__________________
Поймай яблоко 2!

Старый 15.01.2014, 15:26
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 4  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
Сообщение от Zebestov Посмотреть сообщение
До начала драга запоминаем текущего родителя, узнаем абсолютные координаты (localToGlobal в помощь!), присваиваем новые координаты и добавляем себя непосредственно на stage.
Да, я пока так и сделал. Передавать координаты каждый кадр - и будет вообще собственная реализация startDrag Я думал, может есть способ попроще, конкатенейтед-матрица отсоединяется или еще что. Но видимо придется так и оставить.
__________________
interplanety

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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