Non le problème venait de tes conditions if, tu avais une première condition qui disait :
- Si il n'y a pas de collision entre test et rect2 -> alors on fait bouger le sprite.
- Sinon -> écrit "collision" en console.
Et la deuxième condition qui disait :
- Si il n'y a pas de collision entre test et rect -> alors on fait bouger le perso.
- Sinon -> écrit "collision" en console.
Le problème il est là, imagine que "test" soit en collision avec "rect2" mais pas avec "rect", que va t-il se passer?
La première condition va dire :
"test est en collision avec "rect2", donc on affiche "collision" en console sans faire bouger le sprite.
La seconde condition va dire :
"test" n'est pas en collision avec "rect", donc on fait bouger le sprite.
Donc même s'il y avait collision entre test et l'un des rect le sprite bouger toujours.
Le code qui fonctionne dit seulement:
- S'il y a collision entre "test" et "rect2" ou entre "test" et "rect" -> alors affiche "collision" en console.
- Sinon -> faire bouger le sprite.
Donc s'il y a collision avec "rect2" ou bien "rect" le sprite ne bougera pas.
Hésite pas à poser des questions si tu n'as pas compris