Реализация бесконечного контейнера
Доброго времени суток.
Интересует идея реализации бесконечного контейнера. Что я подразумеваю под бесконечным контейнером: Контейнер, в который добавляются компоненты, когда мы начинаем дрэгинг контейнера все компоненты перемещаются в нем "до бесконечности". При обычном startDrag() контейнер цепляется и просто перетаскивается по рабочей области, интересует именно перемещение всех дочерних объектов в контейнере "до бесконечности". |
блин тут поговаривают, что даже вселенная имеет конечный размер, а ты про контейнер!..
тебе надо тайловый движок какой-то сделать? я ничего не понял... |
Имеется компонент, в который добавляются дочерние(допустим кнопка), имеется у компонента видимая область(пускай 500х500 пикселов). Цепляем за видимую область компонента начинаем тянуть, кнопка(и все дочерние) начинают протягиваться внутри компонента, когда доходят до края видимой области компонента и уходят за него, то продолжают скролиться, но уже не видны. И пока мы так цепляем и протягиваем они уходят и уходят от видимой области, а чтобы вернуть дочерние элементы в видимую область мы должны прокрутить ровно столько же, но в обратном направлении. Думаю так будет понятнее, но если что попытаюсь придумать еще подробней объяснение.
|
Вешаем события mouse_down, mouse_up, mouse_move - кликнули и потащили - меняйте координаты необходимых дочерних в нужном направлении, где изменение координаты равно минус изменение координаты мыши. В чем сложность?
|
Я о сложности и не говорил, просил идею. Впринципе идея была такая же,но если у нас 30 дочерних, не накладно ли каждый раз следить и менять координаты каждой?
Пожалуйста отвечать без эмоций, что знаю не спрашивал бы. |
а менять координаты спрайта, на котором лежал дочение тоже самое? :)
|
Ок, спасибо за ответ, буду реализовывать так, может кто то еще какую идею предложит.
|
Часовой пояс GMT +4, время: 19:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.