Chéri, j'ai cassé les collisions

This commit is contained in:
Mattéo Delabre 2016-04-11 02:58:16 +02:00
parent b36f072009
commit 6b3237fd30
1 changed files with 3 additions and 2 deletions

View File

@ -227,7 +227,7 @@ void Object::solveCollision(Level& level, Object::Ptr obj, const sf::Vector2f& n
// si les directions sont divergentes, pas besoin // si les directions sont divergentes, pas besoin
// de résoudre la collision // de résoudre la collision
if (dot_normal >= 0) { if (dot_normal > 0) {
return; return;
} }
@ -251,6 +251,7 @@ void Object::solveCollision(Level& level, Object::Ptr obj, const sf::Vector2f& n
// on calcule le vecteur tangent qui porte la force de frottement. // on calcule le vecteur tangent qui porte la force de frottement.
// les coefficients de friction utilisés sont les moyennes de ceux des deux objets // les coefficients de friction utilisés sont les moyennes de ceux des deux objets
rel_velo = obj->getVelocity() - getVelocity(); rel_velo = obj->getVelocity() - getVelocity();
dot_normal = rel_velo.x * normal.x + rel_velo.y * normal.y;
sf::Vector2f tangent = rel_velo - dot_normal * normal; sf::Vector2f tangent = rel_velo - dot_normal * normal;
float tangent_length = std::sqrt(tangent.x * tangent.x + tangent.y * tangent.y); float tangent_length = std::sqrt(tangent.x * tangent.x + tangent.y * tangent.y);