Я бы не рекомендовал использовать плитку для этого. Лично я бы все сделал с математикой.
Давайте поспорим, что ваши квадраты сетки имеют размер 10 на 10 пикселей.
Теперь вы мгновенно узнаете позиции ритов для каждого квадрата.
в правом верхнем углу будет (90, 0, 10, 10), это, очевидно, не включает в себя расположение вашей сетки, но вы можете легко добавить это к этому, добавив .. (90 + gridPos.x, 0 + gridPos.y, 10, 10).
Тогда вы просто проверяете, что ваши касания пересекаются с сетками.
Рисовать линию довольно просто, я думаю, вы бы нарисовали ее из центра двух точек сетки.
Таким образом, если линия начинается в верхнем правом квадрате сетки, ее начальная точка будет начинаться с (90 + gridPos.x, 0 + gridPos.y, 5, 5) или (90 + gridPos.x, 0 + gridPos. y, gridSquareHeight / 2, gridSquareWidth / 2)
Используя cocos2d, довольно просто также сделать каждый квадрат сенсорным спрайтом, который может реагировать на прикосновения, как вам угодно, отправляя сообщение обратно делегату или даже просто делая визуальный эффект.
Существует множество возможностей для решения этой проблемы.