From db01a216fd455d0374d2e7ceb0a395352435ff3e Mon Sep 17 00:00:00 2001 From: ScorpionInc <19487319+ScorpionInc@users.noreply.github.com> Date: Wed, 23 Mar 2022 19:50:43 +0100 Subject: [PATCH] Add axis label highlighting to the Joypads demo (#684) Co-authored-by: Aaron Franke Co-authored-by: Hugo Locurcio --- misc/joypads/joypads.gd | 13 ++++++-- misc/joypads/joypads.tscn | 65 +++++++++++++++++++++------------------ 2 files changed, 45 insertions(+), 33 deletions(-) diff --git a/misc/joypads/joypads.gd b/misc/joypads/joypads.gd index 8076cb0d..39229895 100644 --- a/misc/joypads/joypads.gd +++ b/misc/joypads/joypads.gd @@ -8,6 +8,8 @@ extends Control # Licensed under the MIT license const DEADZONE = 0.2 +const FONT_COLOR_DEFAULT = Color(1.0, 1.0, 1.0, 0.5) +const FONT_COLOR_ACTIVE = Color.white var joy_num var cur_joy = -1 @@ -37,7 +39,7 @@ func _process(_delta): joypad_name.set_text(Input.get_joy_name(joy_num) + "\n" + Input.get_joy_guid(joy_num)) # Loop through the axes and show their current values. - for axis in range(JOY_AXIS_MAX): + for axis in range(int(min(JOY_AXIS_MAX, 11))): axis_value = Input.get_joy_axis(joy_num, axis) axes.get_node("Axis" + str(axis) + "/ProgressBar").set_value(100 * axis_value) axes.get_node("Axis" + str(axis) + "/ProgressBar/Value").set_text(str(axis_value)) @@ -73,14 +75,19 @@ func _process(_delta): # Transparent white modulate, non-alpha color channels are not changed here. joypad_buttons.get_child(JOY_ANALOG_R2).self_modulate.a = scaled_alpha_value + # Highlight axis labels that are within the "active" value range. Simular to the button highlighting for loop below. + axes.get_node("Axis" + str(axis) + "/Label").add_color_override("font_color", FONT_COLOR_DEFAULT) + if abs(axis_value) >= DEADZONE: + axes.get_node("Axis" + str(axis) + "/Label").add_color_override("font_color", FONT_COLOR_ACTIVE) + # Loop through the buttons and highlight the ones that are pressed. for btn in range(JOY_BUTTON_0, int(min(JOY_BUTTON_MAX, 24))): if Input.is_joy_button_pressed(joy_num, btn): - button_grid.get_child(btn).add_color_override("font_color", Color.white) + button_grid.get_child(btn).add_color_override("font_color", FONT_COLOR_ACTIVE) if btn < 17 and btn != JOY_ANALOG_L2 and btn != JOY_ANALOG_R2: joypad_buttons.get_child(btn).show() else: - button_grid.get_child(btn).add_color_override("font_color", Color(0.2, 0.1, 0.3, 1)) + button_grid.get_child(btn).add_color_override("font_color", FONT_COLOR_DEFAULT) if btn < 17 and btn != JOY_ANALOG_L2 and btn != JOY_ANALOG_R2: joypad_buttons.get_child(btn).hide() diff --git a/misc/joypads/joypads.tscn b/misc/joypads/joypads.tscn index deefa403..401d82b3 100644 --- a/misc/joypads/joypads.tscn +++ b/misc/joypads/joypads.tscn @@ -14,9 +14,6 @@ margin_top = -240.0 margin_right = 270.0 margin_bottom = 240.0 script = ExtResource( 1 ) -__meta__ = { -"_edit_use_anchors_": false -} [node name="JoypadDiagram" parent="." instance=ExtResource( 2 )] position = Vector2( 415, 170 ) @@ -76,9 +73,6 @@ __meta__ = { margin_top = 50.0 margin_right = 255.0 margin_bottom = 310.0 -__meta__ = { -"_edit_use_anchors_": false -} [node name="Axis0" type="HBoxContainer" parent="Axes"] margin_right = 260.0 @@ -93,6 +87,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 0" valign = 1 __meta__ = { @@ -137,6 +132,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 1" valign = 1 __meta__ = { @@ -181,6 +177,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 2" valign = 1 __meta__ = { @@ -225,6 +222,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 3" valign = 1 __meta__ = { @@ -269,6 +267,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 4" valign = 1 __meta__ = { @@ -313,6 +312,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 5" valign = 1 __meta__ = { @@ -357,6 +357,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 6" valign = 1 __meta__ = { @@ -401,6 +402,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 7" valign = 1 __meta__ = { @@ -445,6 +447,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 8" valign = 1 __meta__ = { @@ -489,6 +492,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 9" valign = 1 __meta__ = { @@ -533,6 +537,7 @@ margin_right = 50.0 margin_bottom = 20.0 rect_min_size = Vector2( 50, 0 ) size_flags_vertical = 1 +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "Axis 10" valign = 1 __meta__ = { @@ -601,7 +606,7 @@ margin_bottom = 20.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "0" align = 1 valign = 1 @@ -616,7 +621,7 @@ margin_bottom = 20.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "1" align = 1 valign = 1 @@ -631,7 +636,7 @@ margin_bottom = 20.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "2" align = 1 valign = 1 @@ -646,7 +651,7 @@ margin_bottom = 20.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "3" align = 1 valign = 1 @@ -661,7 +666,7 @@ margin_bottom = 20.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "4" align = 1 valign = 1 @@ -676,7 +681,7 @@ margin_bottom = 20.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "5" align = 1 valign = 1 @@ -691,7 +696,7 @@ margin_bottom = 20.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "6" align = 1 valign = 1 @@ -706,7 +711,7 @@ margin_bottom = 20.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "7" align = 1 valign = 1 @@ -721,7 +726,7 @@ margin_bottom = 44.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "8" align = 1 valign = 1 @@ -737,7 +742,7 @@ margin_bottom = 44.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "9" align = 1 valign = 1 @@ -753,7 +758,7 @@ margin_bottom = 44.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "10" align = 1 valign = 1 @@ -769,7 +774,7 @@ margin_bottom = 44.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "11" align = 1 valign = 1 @@ -785,7 +790,7 @@ margin_bottom = 44.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "12" align = 1 valign = 1 @@ -801,7 +806,7 @@ margin_bottom = 44.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "13" align = 1 valign = 1 @@ -817,7 +822,7 @@ margin_bottom = 44.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "14" align = 1 valign = 1 @@ -833,7 +838,7 @@ margin_bottom = 44.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "15" align = 1 valign = 1 @@ -848,7 +853,7 @@ margin_bottom = 68.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "16" align = 1 valign = 1 @@ -864,7 +869,7 @@ margin_bottom = 68.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "17" align = 1 valign = 1 @@ -880,7 +885,7 @@ margin_bottom = 68.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "18" align = 1 valign = 1 @@ -896,7 +901,7 @@ margin_bottom = 68.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "19" align = 1 valign = 1 @@ -912,7 +917,7 @@ margin_bottom = 68.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "20" align = 1 valign = 1 @@ -928,7 +933,7 @@ margin_bottom = 68.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "21" align = 1 valign = 1 @@ -944,7 +949,7 @@ margin_bottom = 68.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "22" align = 1 valign = 1 @@ -960,7 +965,7 @@ margin_bottom = 68.0 rect_min_size = Vector2( 0, 20 ) size_flags_horizontal = 3 size_flags_vertical = 1 -custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 0.501961 ) text = "23" align = 1 valign = 1