Итак, я решил это довольно давно, но чтобы помочь тем, кто в итоге наткнулся на это и хочет получить подобную функциональность:
Этот пост довольно давно - так что позвольте мне вспомнить, что произошло.
Создание области вокруг пути действительно работало, но для очень ограниченного набора путей.Под «созданием области вокруг пути» я подразумеваю, что для пути, который идет от x1, y1 до x2, y2, создайте прямоугольную область, которая охватывает (например) x1-50, y1-50 до x2 + 50, y2+50, где 50 - удельный вес пикселя пути.
Если вы можете визуализировать его, он в основном создает прямоугольную область, которая покрывает путь, и его ход в 50 пикселей, так что вы можете «подделать» пересечение пути, используя области.Где бы ни находился путь, есть регион, и поэтому, когда 2 пути «пересекаются», вы можете проверить наличие пересечения области (что вы можете сделать, но я забыл имена методов).
Однако это доказало свою эффективность.на несколько путей.Хотя я хотел бы думать, что мое знание математики является адекватным, я не мог получить его так, чтобы в каком бы направлении ни шел Путь, Регион работал.Различные углы, разные направления и т. Д. Приводили к тому, что Регион не отображался должным образом под Путем.Приведенный выше пример использования ширины 50 штрихов будет работать только для движения в определенном направлении.
Решением, на которое я и мой партнер наткнулись, было создание двумерного целочисленного массива, который отображался на экране.Везде, где путь шел в определенном направлении, мы заполняли каждую ячейку массива, на которую отображался путь, определенным значением (1).Мы сделали бы то же самое для другого пути, но с другим значением (2).При каждом перемещении вы проверяете 2D-массив по координатам пути, чтобы увидеть, занят он или нет.Была важная математическая формула, которая экстраполировала бы, какие клетки посещались при переходе от x1, y2 к x2, y2, что оказалось очень полезным - я полагаю, что это было названо как-то по формуле Брасенхайма, или как-то еще.
Это не таксамое элегантное решение, но оно в итоге хорошо подделало пересечение путей.Если кто-то заинтересован в лучшем объяснении, вы можете написать мне.
Удачи!