Detectar clique / toque na textura isométrica

Estou tendo dificuldades para implementar a manipulação de cliques em um jogo isométrico simples do Sprite Kit.

Eu tenho uma cena de jogo (SKScene) com um mapa (SKNode) contendo vários objetos Tile (SKSpriteNode).

Aqui está uma captura de tela do mapa:

Quero poder detectar o bloco em que o usuário clicou, então implementei mouseDown no objeto Tile. Aqui está o mouseDown no Tile.m:

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

O código parece funcionar bem, mas há uma falha: os nós se sobrepõem e o evento click é detectado na parte transparente do nó. Exemplo (as rects foram adicionadas para ilustrar apenas o problema. Elas não são usadas na lógica):

Como você pode ver, se eu clicar no canto superior esquerdo do bloco 7, o bloco 8 se tornará transparente.

Tentei algo como obter todos os nós no local do clique e verificar se o clique está dentro de um CGPath sem êxito (acho que havia algo errado nas coordenadas).

Então, minha pergunta aqui é como detectar o clique apenas na textura e não na parte transparente? Ou talvez minha abordagem do problema esteja errada?

Qualquer conselho seria apreciado.

Editar: para qualquer pessoa interessada na solução que finalmente usei, consulteminha resposta aqui

questionAnswers(3)

yourAnswerToTheQuestion