Evite el desplazamiento de ubicación con el nodo de la cámara SpriteKit
He notado que elcenterOnNode:
método como se muestra,
- (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);
}
tiene un gran impacto en el posicionamiento relativo de los nodos secundarios. Tan pronto como se ejecuta este método, los nodos secundarios de hecho parecen verse afectados. La siguiente imagen muestra la lógica de NO movimiento luego con movimiento hacia la izquierda y ligeramente hacia abajo:
Dibujé un cuadro azul claro para estimar el cuerpo de física que parece que las rutas hacen referencia en lugar del marco actualizado. Las líneas y círculos que ves representan 2 métodos que estoy usando para encontrar rutas.
La línea con los puntos son solo pruebas de rayos que estoy haciendo para ver si un rayo a lo largo de la línea verde se cruza con el cuerpo físico cuadrado.El único punto que ves en la esquina superior es usarGameplayKit
para construir un camino que evite el cuadrado negro como obstáculo.Estoy luchando por descubrir cómo evitar que el reposicionamiento de la cámara afecte el posicionamiento de los niños en la escena.
FYI: He probado el pathfinding moviendo el personaje pero NO la cámara y funciona perfectamente (se muestra a continuación)
Claramente, el desplazamiento de la cámara es el problema. Si alguien puede decirme qué hacer para mantener el movimiento de la cámara y la precisión de la búsqueda de caminos, lo agradecería enormemente.