Impedir o deslocamento da localização com o nó da câmera SpriteKit
Eu notei que ocenterOnNode:
método como mostrado,
- (void)centerOnNode:(SKNode *)node {
cameraOffset = [node.scene convertPoint:node.position fromNode:node.parent];
node.parent.position = CGPointMake(node.parent.position.x - cameraOffset.x, node.parent.position.y - cameraOffset.y);
}
afeta muito o posicionamento relativo dos nós filhos. Assim que esse método é executado, os nós filhos parecem de fato sofrer impacto. A imagem a seguir mostra a lógica do movimento NO, movendo-se para a esquerda e levemente para baixo:
Eu desenhei uma caixa azul clara para estimar o corpo físico que parece que os caminhos estão fazendo referência em vez do quadro atualizado. As linhas e círculos que você vê representam 2 métodos que estou usando para encontrar o caminho.
A linha com os pontos são apenas testes de raio que estou fazendo para ver se um raio ao longo da linha verde cruza o corpo da física quadrada.O único ponto que você vê no canto superior é usandoGameplayKit
construir um caminho que evite o quadrado preto como obstáculo.Estou lutando para descobrir como evitar que o reposicionamento da câmera efetue o posicionamento das crianças na cena.
Para sua informação: Testei a busca de caminhos movendo o personagem, mas NÃO a câmera, e funciona perfeitamente (mostrado abaixo)
Claramente, o deslocamento da câmera é o problema. Se alguém puder me dizer o que fazer para manter o movimento da câmera e a precisão da busca de caminhos, eu apreciaria muito.