A mon avis, tu dois mal faire ton algo, comme dis Lapintade. Je pense que tu fais ceci :
Lors d´une demande de mouvement :
- si il y a collision, alors tu n´autorises pas le mouvement
- sinon, tu déplaces.
Cette façon de faire pose un probleme, car tu peux avoir des cas ou tu es DANS un mur, et ne plus bouger. Tu permets a ton bonhomme - par exemple - d´aller dans le mur, et une fois qu´il y es, tu lui interdit d´en sortir. Ce qu´il faut, c´est de ne JAMAIS etre dans un mur.
Je te suggere plutot ceci :
Lors d´une demande de mouvement :
- tu mémorises la position ou tu es, puis tu déplaces.
- tu testes la collision avec la nouvelle position.
- s´il y a collision, alors tu restaures l´ancienne position mémorisée (donc finalement, tu ne valides pas le déplacement)
Avec ceci, tu ne seras jamais dans un mur 