J'ai deux spriteNodes qui se croisent mais à des positions différentes. les deux sprites sont rectangulaires. J'obtiens un comportement étrange où il ne détecte qu'une intersection entre les nœuds s'ils se croisent sur la moitié gauche de l'un des nœuds (ce nœud est toujours le même et est toujours un nœud stationnaire). Alors, qu'est-ce qui pourrait causer un tel comportement?intersectsNode ne fonctionne pas pour la moitié droite seulement
J'ai du code que je peux montrer, mais il semble assez simple, donc si quelqu'un pense que cela pourrait aider, faites le moi savoir?
Mise à jour: il fonctionne avec un sprite différent ici est le code pour chacun d'eux:
if (!weldRUHit && [weldRU intersectsNode:[barriers objectAtIndex:i]]) {
SKSpriteNode *nodeA = (SKSpriteNode*)[barriers objectAtIndex:i];
SKPhysicsBody *firstBody = nodeA.physicsBody;
SKSpriteNode *nodeB = weldRU;
SKPhysicsBody *secondBody = nodeB.physicsBody;
weldRUHit = YES;
[self beginIntersectionWithBodyA:firstBody bodyB:secondBody];
}
if (!weldLDHit && [weldLD intersectsNode:[barriers objectAtIndex:i]]) {
SKSpriteNode *nodeA = (SKSpriteNode*)[barriers objectAtIndex:i];
SKPhysicsBody *firstBody = nodeA.physicsBody;
SKSpriteNode *nodeB = weldLD;
SKPhysicsBody *secondBody = nodeB.physicsBody;
weldLDHit = YES;
[self beginIntersectionWithBodyA:firstBody bodyB:secondBody];
}
cela fonctionne pour weldLD mais pas pour weldRU.
avez-vous changé le point d'ancrage? – LearnCocos2D
@ LearnCocos2D aucun point d'ancrage n'a été modifié. voir aussi ma mise à jour. – user3794885