Я пытаюсь создать графический редактор с помощью Paper.js.
Я хочу выбрать первый (1-й) элемент, который был выбран с помощью инструмента выделения(либо Shift+щелчок, либо перетаскивание поля выбора ). Обнаружение прямого клика выполняется с помощью проверки нажатия, а поле выбора - с помощью getIntersection
- Если это Shift+щелчок, это первый выбранный элемент. Какой элемент был нажат, определяется с помощью HitResult.
- Если это selectionBox, первое пересечение? результат окна выбора.
Можно ли получить это?
Я выполняю цикл FOR, чтобы получить все элементы в Paper.js selectedItems< /strong> массив, который возвращает все выбранные элементы на холсте.
Я пробовал это:
var selected = paper.project.selectedItems;
var firstSelected = selected[0];
но это не возвращает то, что мне нужно.
Приведенный выше фрагмент кода извлекает массив, который не зависит от того, какой элемент был выбран первым. Он просто упорядочивает selectedItems в массиве, начиная с ''самого старого нарисованный путь''.
Что мне нужно, так это способ узнать, какой элемент был выбран первым.
- Либо первый, который получает ''трогал (пересекался) '' с прямоугольником выбора
- Или первый, который был нажат при использовании функций Shift+Click (выберите более одного элемента щелчком).
Причина этого в том, что я хотел бы добавить в свой редактор функцию выравнивания относительно.
Чтобы иметь правильный UX, пользователь должен иметь возможность выровнять элемент относительно другого, который он устанавливает как «элемент ссылки». Поэтому мне нужно знать 1-й элемент, выбранный относительно других, чтобы использовать его в качестве «элемента ссылки».
Любые идеи ?