diff --git a/examples2d/utils/character.rs b/examples2d/utils/character.rs index 491d839..5592e08 100644 --- a/examples2d/utils/character.rs +++ b/examples2d/utils/character.rs @@ -50,7 +50,7 @@ pub fn update_character( fn character_movement_from_inputs( gfx: &TestbedGraphics, mut speed: Real, - artificial_gravity: Option, + artificial_gravity: bool, ) -> Vector { let mut desired_movement = Vector::zeros(); @@ -77,8 +77,8 @@ fn character_movement_from_inputs( desired_movement *= speed; - if let Some(artificial_gravity) = artificial_gravity { - desired_movement += Vector::y() * artificial_gravity; + if artificial_gravity { + desired_movement -= Vector::y() * speed; } desired_movement @@ -91,7 +91,7 @@ fn update_pid_controller( pid: &mut PidController, speed: Real, ) { - let desired_movement = character_movement_from_inputs(gfx, speed, None); + let desired_movement = character_movement_from_inputs(gfx, speed, false); let character_body = &mut phx.bodies[character_handle]; @@ -129,7 +129,7 @@ fn update_kinematic_controller( controller: &KinematicCharacterController, speed: Real, ) { - let desired_movement = character_movement_from_inputs(gfx, speed, Some(phx.gravity.y)); + let desired_movement = character_movement_from_inputs(gfx, speed, true); let character_body = &phx.bodies[character_handle]; let character_collider = &phx.colliders[character_body.colliders()[0]]; diff --git a/examples3d/utils/character.rs b/examples3d/utils/character.rs index 71f68bd..fdcd9f7 100644 --- a/examples3d/utils/character.rs +++ b/examples3d/utils/character.rs @@ -49,7 +49,7 @@ pub fn update_character( fn character_movement_from_inputs( gfx: &TestbedGraphics, mut speed: Real, - artificial_gravity: Option, + artificial_gravity: bool, ) -> Vector { let mut desired_movement = Vector::zeros(); @@ -88,8 +88,8 @@ fn character_movement_from_inputs( desired_movement *= speed; - if let Some(artificial_gravity) = artificial_gravity { - desired_movement += Vector::y() * artificial_gravity; + if artificial_gravity { + desired_movement -= Vector::y() * speed; } desired_movement @@ -102,7 +102,7 @@ fn update_pid_controller( pid: &mut PidController, speed: Real, ) { - let desired_movement = character_movement_from_inputs(gfx, speed, None); + let desired_movement = character_movement_from_inputs(gfx, speed, false); let character_body = &mut phx.bodies[character_handle]; // Adjust the controlled axis depending on the keys pressed by the user. @@ -139,7 +139,7 @@ fn update_kinematic_controller( controller: &KinematicCharacterController, speed: Real, ) { - let desired_movement = character_movement_from_inputs(gfx, speed, Some(phx.gravity.y)); + let desired_movement = character_movement_from_inputs(gfx, speed, true); let character_body = &phx.bodies[character_handle]; let character_collider = &phx.colliders[character_body.colliders()[0]];