La position de SKSPriteNode passe à 0,0 sans raison

Je crée un SKSpriteNode dans la méthode didBeginContact avec l'location du contact:

 CommonBox *boxTwo = [[CommonBox alloc] initWithTexture:[self.mainAtlas textureNamed:@"box07"]]; boxTwo.name = @"regularBox"; boxTwo.position = contact.contactPoint; [self addChild:boxTwo]; 

La position est correcte ici. Ensuite, la méthode de mise à jour est appelée et la position de la boîte est magiquement changée en 0,0 au début de la méthode de mise à jour, avant que tout code ne soit exécuté. Pourquoi donc? Aucun autre code n'est exécuté entre ces deux events. Ça me rend fou. J'ai essayé d'enlever tous les masques de collision et de contact de cet object, mais de toute façon il change en zéros. L'object est légal et ainsi de suite.

EDIT: si je retire le corps physique de ce noeud, j'obtiendrai la position désirée. Mais comment puis-je définir ma position de nœud s'il a un corps de physique?

J'ai découvert mon erreur – vous devez créer un corps physique après avoir défini la position du noeud. Position de réglage après que le corps physique a la position ne fait rien.