physicsBody está desalineado con spriteNode

Estoy creando un spritenode, estableciendo su position y cambiando su punto de anclaje a (0, .5) y luego creando un cuerpo de phyics.

El cuerpo de la física piensa que mi punto de anclaje está todavía en (.5, .5), estúpidamente.

El mismo problema se hace reference aquí, pero no se resuelve : Physicsbody no se adhiere al punto de anclaje del nodo

El order en que estoy haciendo las cosas es correcto, es solo que mi cuerpo físico es terco.

El punto de anclaje determina dónde se dibuja la textura del nodo en relación con la position del nodo. Simplemente no afecta a los cuerpos de la física porque es una propiedad puramente visual (una compensación de la textura).

Para los nodos impulsados ​​por la física, en realidad es contraproducente cambiar el punto de anclaje de su valor pnetworkingeterminado porque eso cambiará el punto alnetworkingedor del cual girará la textura. Y el cuerpo de la física por lo general también cambiará la rotation del nodo.

Entonces, incluso si tuviera que mover los vértices de la forma del cuerpo de la física para que coincida con el sprite con un punto de anclaje modificado, la forma de la física estará desalineada con la image tan pronto como el cuerpo comience a girar. Y parecerá comportarse de manera extraña.

Además de lo que quiera lograr con anchorPoint, puede lograrlo de manera más flexible utilizando la jerarquía de nodos para su ventaja. Use un SKNode como el nodo de física y agregue un nodo de sprite que no sea de física como hijo a ese nodo y compárelo de la manera que deseaba que la image fuera compensada cambiando el punto de anclaje del sprite.

Terminas teniendo dos nodos, uno invisible que representa el cuerpo de la física y uno (o más) sprite (s) que representan los elementos visuales del cuerpo, pero no necesariamente vinculados a la position central del cuerpo.