Skip to content

Commit 48670f5

Browse files
authored
Merge pull request #143 from nezvers/gamepad_direction
add deadzone for movement and aim inputs
2 parents 2edec36 + 273933d commit 48670f5

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

addons/top_down/scripts/actor/player/PlayerInput.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func _physics_process(_delta:float)->void:
4949
# Walking direction
5050
var _axis:Vector2 = Vector2(Input.get_axis(action_resource.left_action, action_resource.right_action), Input.get_axis(action_resource.up_action, action_resource.down_action))
5151
# Analog sticks sucks for diagonals
52-
_axis = Vector2(ceil(abs(_axis.x)) * sign(_axis.x), ceil(abs(_axis.y)) * sign(_axis.y) )
52+
#_axis = Vector2(ceil(abs(_axis.x)) * sign(_axis.x), ceil(abs(_axis.y)) * sign(_axis.y) )
5353

5454
var _length:float = _axis.length()
5555
if _length > 0.01:

addons/top_down/scripts/input/ActionResource.gd

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,25 +69,28 @@ func _initialize()->void:
6969

7070
_init_action(pause_action, [pause_kb, pause_gp].filter(_filter_empty))
7171

72-
_init_action(right_action, [right_kb, right_gp].filter(_filter_empty))
73-
_init_action(left_action, [left_kb, left_gp].filter(_filter_empty))
74-
_init_action(up_action, [up_kb, up_gp].filter(_filter_empty))
75-
_init_action(down_action, [down_kb, down_gp].filter(_filter_empty))
72+
_init_action(right_action, [right_kb, right_gp].filter(_filter_empty), 0.2)
73+
_init_action(left_action, [left_kb, left_gp].filter(_filter_empty), 0.2)
74+
_init_action(up_action, [up_kb, up_gp].filter(_filter_empty), 0.2)
75+
_init_action(down_action, [down_kb, down_gp].filter(_filter_empty), 0.2)
76+
77+
_init_action(aim_right_action, [aim_right_kb, aim_right_gp].filter(_filter_empty), 0.1)
78+
_init_action(aim_left_action, [aim_left_kb, aim_left_gp].filter(_filter_empty), 0.1)
79+
_init_action(aim_up_action, [aim_up_kb, aim_up_gp].filter(_filter_empty), 0.1)
80+
_init_action(aim_down_action, [aim_down_kb, aim_down_gp].filter(_filter_empty), 0.1)
7681

77-
_init_action(aim_right_action, [aim_right_kb, aim_right_gp].filter(_filter_empty))
78-
_init_action(aim_left_action, [aim_left_kb, aim_left_gp].filter(_filter_empty))
79-
_init_action(aim_up_action, [aim_up_kb, aim_up_gp].filter(_filter_empty))
80-
_init_action(aim_down_action, [aim_down_kb, aim_down_gp].filter(_filter_empty))
8182
_init_action(action_1_action, [action_1_kb, action_1_gp].filter(_filter_empty))
8283
_init_action(action_2_action, [action_2_kb, action_2_gp].filter(_filter_empty))
8384
_init_action(next_action, [next_kb, next_gp].filter(_filter_empty))
8485
_init_action(previous_action, [previous_kb, previous_gp].filter(_filter_empty))
8586

8687
updated.emit()
8788

88-
func _init_action(action_name:StringName, event_list:Array)->void:
89+
func _init_action(action_name:StringName, event_list:Array, deadzone:float = 0.5)->void:
8990
if !InputMap.has_action(action_name):
9091
InputMap.add_action(action_name)
92+
InputMap.action_set_deadzone(action_name, deadzone)
93+
9194
for event:InputEvent in event_list:
9295
if InputMap.action_has_event(action_name, event):
9396
continue

0 commit comments

Comments
 (0)