diff --git a/tutorials/inputs/controllers_gamepads_joysticks.rst b/tutorials/inputs/controllers_gamepads_joysticks.rst index 77fac2a04ad3..2dc4d4806a95 100644 --- a/tutorials/inputs/controllers_gamepads_joysticks.rst +++ b/tutorials/inputs/controllers_gamepads_joysticks.rst @@ -48,18 +48,24 @@ In Godot 4.0, there are 3 ways to get input in an analog-aware way: .. code-tab:: gdscript GDScript # `velocity` will be a Vector2 between `Vector2(-1.0, -1.0)` and `Vector2(1.0, 1.0)`. + # This handles deadzone in a correct way. The resulting deadzone will have a circular shape + # as it should. var velocity = Input.get_vector("move_left", "move_right", "move_forward", "move_back") - # The line above is a shorter form of: + # The line below handles deadzone in an incorrect way. The resulting deadzone + # will have a square shape when it should have a circular shape. var velocity = Vector2(Input.get_action_strength("move_right") - Input.get_action_strength("move_left"), Input.get_action_strength("move_back") - Input.get_action_strength("move_forward")).clamped(1) .. code-tab:: csharp // `velocity` will be a Vector2 between `Vector2(-1.0, -1.0)` and `Vector2(1.0, 1.0)`. + // This handles deadzone in a correct way. The resulting deadzone will have a circular shape + // as it should. Vector2 velocity = Input.GetVector("move_left", "move_right", "move_forward", "move_back"); - // The line above is a shorter form of: + // The linew below handles deadzone in an incorrect way. The resulting deadzone + // will have a square shape when it should have a circular shape. Vector2 velocity = new Vector2(Input.GetActionStrength("move_right") - Input.GetActionStrength("move_left"), Input.GetActionStrength("move_back") - Input.GetActionStrength("move_forward")).Clamped(1);