Przeglądaj źródła

Add axis label highlighting to the Joypads demo (#684)

Co-authored-by: Aaron Franke <[email protected]>
Co-authored-by: Hugo Locurcio <[email protected]>
ScorpionInc 3 lat temu
rodzic
commit
db01a216fd
2 zmienionych plików z 45 dodań i 33 usunięć
  1. 10 3
      misc/joypads/joypads.gd
  2. 35 30
      misc/joypads/joypads.tscn

+ 10 - 3
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()
 

+ 35 - 30
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