У меня есть доска в виде холста, на которой нарисованы несколько фигур, некоторые из них - треугольники, круги, прямоугольники, но все они содержатся внутри собственного ограниченного прямоугольником.
"Круг будет внутри прямоугольника"
Я положил два круга A, B на доску, где A находится над B и имеет некоторую площадь столкновения.
Если я нажму на область A, соответствующую области контейнера, но не на фактическую область формы A, я не выберу круг A, однако это помешает мне выбрать B, поскольку мой контейнер A перекрывается и превышает B один.
В базовом фреймворке событий дочернее событие будет отправлено родителю, а не братьям и сестрам.
Поэтому я выбрал проверку всех контейнеров фигур, имеющих некоторую площадь в точке x, упорядоченную по z-индексу. Затем для каждого контейнера проверьте, не сталкивается ли фигура внутри него.
Это не кажется супер эффективным, но есть ли другие способы?
---------
| --------
| | |
-----| |
--------