Цель C - Кварц 2D найти линию пересечения - PullRequest
0 голосов
/ 12 августа 2010

В настоящее время я использую CGContextMoveToPoint, CGContextAddLineToPoint & CGContextStrokePath для рисования линий в представлении.

По сути, игра в змею, которая также позволяет пользователю перемещаться по диагонали.

Есть ли способ найти, когда две линии, которые я рисую, пересекаются, или мне нужно вручную рассчитать каждую линию и посмотреть,что-нибудь пересекается?

Спасибо,
Тройник

1 Ответ

0 голосов
/ 13 августа 2010

Поскольку методы CG несколько загружают процессор, лучше всего написать метод, который вычисляет точку пересечения с использованием базовой геометрии.Или используйте алгоритм Sweep Line , он не должен быть слишком сложным.

РЕДАКТИРОВАТЬ: На самом деле, поскольку вы создаете игру-змею, в которой блоки расположены в сетке,можете просто пометить некоторые из блоков как , содержащие змею / что угодно , и если блок собирается помечаться дважды, то вы делаете все, что хотите, при пересечении линии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...