Обнаружение щелчка / касания на изометрической текстуре

Я с трудом пытаюсь реализовать обработку кликов в простой изометрической игре Sprite Kit.

У меня есть игровая сцена (SKScene) с картой (SKNode), содержащей несколько объектов Tile (SKSpriteNode).

Вот скриншот карты:

Я хочу быть в состоянии обнаружить плитку, на которой щелкнул пользователь, поэтому я реализовал mouseDown для объекта Tile. Вот мой указатель мыши в Tile.m:

-(void)mouseDown:(NSEvent *)theEvent
{
    [self setColorBlendFactor:0.5];
}

Код, кажется, работает нормально, но есть сбой: узлы перекрываются, и в прозрачной части узла обнаруживается событие щелчка. Пример (ссылки были добавлены только для иллюстрации проблемы. Они не используются в логике):

Как вы можете видеть, если я нажму на верхний левый угол плитки 7, плитка 8 станет прозрачной.

Я пробовал что-то вроде получения всех узлов в месте щелчка и проверки, если щелчок находится внутри CGPath, но безуспешно (я думаю, что в координатах что-то не так).

Итак, мой вопрос здесь заключается в том, как обнаружить щелчок только по текстуре, а не по прозрачной части? Или, может быть, мой подход к проблеме неверен?

Любой совет будет принят во внимание.

Редактировать : для тех, кто заинтересован в решении, которое я наконец-то использовал, смотритемой ответ здесь

Ответы на вопрос(3)

Ваш ответ на вопрос