diff options
Diffstat (limited to 'src_testbed')
| -rw-r--r-- | src_testbed/testbed.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index 3bf720a..7160b3b 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -847,6 +847,16 @@ impl Testbed { ); } } + WindowEvent::Key(Key::J, Action::Release, _) => { + // Delete 10% of the remaining joints. + let joints: Vec<_> = self.physics.joints.iter().map(|e| e.0).collect(); + let num_to_delete = (joints.len() / 10).max(1); + for to_delete in &joints[..num_to_delete] { + self.physics + .joints + .remove(*to_delete, &mut self.physics.bodies, true); + } + } WindowEvent::CursorPos(x, y, _) => { self.cursor_pos.x = x as f32; self.cursor_pos.y = y as f32; |
