Сделать пользовательский компонент или расширить компонент List для 2D сверху вниз MAP в flex 4? - PullRequest
0 голосов
/ 11 ноября 2010

Hy!

Я создаю 2D-карту вида сверху , в которой ее объекты хранятся на сервере .

Объектам вида соответствует 10, и они могут быть фотографиями, ярлыками, кнопками, списками, их сочетаниями или ярлыками с подсказками.

Компонент должен запросить «области», которые отсутствуют на экране . Область имеет размер 1000x1000 пикселей и кэшируется во флекс.

Для перемещения на карте, будет как в Google Maps (перетаскивание)

Я должен иметь возможность иметь другой список и перемещать объекты от одного к другому, используя перетаскивание объектов. Пример: я беру объекты из списка и перемещаю их по этой карте, отпускаю кнопку мыши и элемент помещается туда.

Теперь проблема в : я создаю пользовательский компонент для этого, пытаясь эмулировать средство визуализации элементов для повышения производительности и утилизации , реализую перетаскивание на объекты и запрашиваю области чего не хватает?

или

I расширяет компонент List с spark , и я добавляю некоторые функции в качестве нескольких типов обработчиков предметов и использую на них recycle. Конечно, он должен иметь возможность запрашивать недостающие области на экране и кэшировать его данные. Может быть, необходимо создать пользовательский макет тоже необходимо.

Что мне нужно, так это то, что должно быть действительно текучим, поэтому чем легче этот компонент, тем лучше!

Спасибо за вашу помощь! (

UPDATE: * Не будет никакого объекта над другим. * Я не буду использовать hitTest для растровых изображений, потому что все растровые изображения обернуты в другом компоненте, поскольку они на данный момент являются обработчиками предметов.

В любом случае, я уже начал делать это, используя класс, расширяющий SkinnableDataContainer, и пользовательский макет. Поскольку макет не похож на сетку, это редкие, случайные элементы в разных точках (x, y).

Теперь у меня есть эта проблема: https://stackoverflow.com/questions/4192934/how-to-get-the-localx-and-localy-relative-to-item-renderer-and-not-to-the-spark

1 Ответ

0 голосов
/ 16 ноября 2010

Возможно, вы могли бы использовать комбинацию некоторых из следующих параметров:

  1. Фон холста (для слоистых компонентов), при использовании hitTest выглядит плавным.Разделите холст, используя constraintColumn / constraintRow для компоновки сетки.
  2. Используйте hitTest (для элементов bitmapdata) для обнаружения столкновений и перемещайте элементы на новую позицию (если элементы падают друг на друга).
  3. Используйте комбинацию mouseDown, mouseMove, mouseUP (пример здесь ) для перетаскивания n drop.
  4. Использование индексированного массива 2D / 3D для отслеживания положения элементов (пример здесь )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...