Stop bolls from passing through walls
authorTomas Wenström <tomas.wenstrom@gmail.com>
Wed, 17 Feb 2021 18:43:18 +0000 (19:43 +0100)
committerTomas Wenström <tomas.wenstrom@gmail.com>
Wed, 17 Feb 2021 18:43:18 +0000 (19:43 +0100)
src/core/game.rs

index 5c1bda8..8caf6ab 100644 (file)
@@ -293,9 +293,8 @@ impl Object for Boll {
            }
            self.bounces -= 1;
            let mut a = wall.normal().mirror(self.vel.to_angle()); // TODO interpolera normalen mellan närliggande väggdelar? bollarna studsar väldigt "kantigt" nu
-           self.pos = pos;
+           self.pos = pos + Point::from(wall.normal()) * 0.1; // får bollen att inte åka igenom väggen av misstag p.g.a nedan slumpvinkel
            self.vel = Point::from(a) * self.vel.length() * 0.35;
-           self.pos += self.vel; // TODO det här kan få bollen att åka igenom en närliggande vägg utan att kollisionstestas, men behövs just nu för att inte kollidera med samma vägg bakifrån
 
            // create another boll
            use rand::distributions::{Distribution, Normal};