Skip to content

Commit db01a21

Browse files
ScorpionIncaaronfrankeCalinou
authored
Add axis label highlighting to the Joypads demo (#684)
Co-authored-by: Aaron Franke <[email protected]> Co-authored-by: Hugo Locurcio <[email protected]>
1 parent b46a823 commit db01a21

File tree

2 files changed

+45
-33
lines changed

2 files changed

+45
-33
lines changed

misc/joypads/joypads.gd

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ extends Control
88
# Licensed under the MIT license
99

1010
const DEADZONE = 0.2
11+
const FONT_COLOR_DEFAULT = Color(1.0, 1.0, 1.0, 0.5)
12+
const FONT_COLOR_ACTIVE = Color.white
1113

1214
var joy_num
1315
var cur_joy = -1
@@ -37,7 +39,7 @@ func _process(_delta):
3739
joypad_name.set_text(Input.get_joy_name(joy_num) + "\n" + Input.get_joy_guid(joy_num))
3840

3941
# Loop through the axes and show their current values.
40-
for axis in range(JOY_AXIS_MAX):
42+
for axis in range(int(min(JOY_AXIS_MAX, 11))):
4143
axis_value = Input.get_joy_axis(joy_num, axis)
4244
axes.get_node("Axis" + str(axis) + "/ProgressBar").set_value(100 * axis_value)
4345
axes.get_node("Axis" + str(axis) + "/ProgressBar/Value").set_text(str(axis_value))
@@ -73,14 +75,19 @@ func _process(_delta):
7375
# Transparent white modulate, non-alpha color channels are not changed here.
7476
joypad_buttons.get_child(JOY_ANALOG_R2).self_modulate.a = scaled_alpha_value
7577

78+
# Highlight axis labels that are within the "active" value range. Simular to the button highlighting for loop below.
79+
axes.get_node("Axis" + str(axis) + "/Label").add_color_override("font_color", FONT_COLOR_DEFAULT)
80+
if abs(axis_value) >= DEADZONE:
81+
axes.get_node("Axis" + str(axis) + "/Label").add_color_override("font_color", FONT_COLOR_ACTIVE)
82+
7683
# Loop through the buttons and highlight the ones that are pressed.
7784
for btn in range(JOY_BUTTON_0, int(min(JOY_BUTTON_MAX, 24))):
7885
if Input.is_joy_button_pressed(joy_num, btn):
79-
button_grid.get_child(btn).add_color_override("font_color", Color.white)
86+
button_grid.get_child(btn).add_color_override("font_color", FONT_COLOR_ACTIVE)
8087
if btn < 17 and btn != JOY_ANALOG_L2 and btn != JOY_ANALOG_R2:
8188
joypad_buttons.get_child(btn).show()
8289
else:
83-
button_grid.get_child(btn).add_color_override("font_color", Color(0.2, 0.1, 0.3, 1))
90+
button_grid.get_child(btn).add_color_override("font_color", FONT_COLOR_DEFAULT)
8491
if btn < 17 and btn != JOY_ANALOG_L2 and btn != JOY_ANALOG_R2:
8592
joypad_buttons.get_child(btn).hide()
8693

misc/joypads/joypads.tscn

Lines changed: 35 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ margin_top = -240.0
1414
margin_right = 270.0
1515
margin_bottom = 240.0
1616
script = ExtResource( 1 )
17-
__meta__ = {
18-
"_edit_use_anchors_": false
19-
}
2017

2118
[node name="JoypadDiagram" parent="." instance=ExtResource( 2 )]
2219
position = Vector2( 415, 170 )
@@ -76,9 +73,6 @@ __meta__ = {
7673
margin_top = 50.0
7774
margin_right = 255.0
7875
margin_bottom = 310.0
79-
__meta__ = {
80-
"_edit_use_anchors_": false
81-
}
8276

8377
[node name="Axis0" type="HBoxContainer" parent="Axes"]
8478
margin_right = 260.0
@@ -93,6 +87,7 @@ margin_right = 50.0
9387
margin_bottom = 20.0
9488
rect_min_size = Vector2( 50, 0 )
9589
size_flags_vertical = 1
90+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
9691
text = "Axis 0"
9792
valign = 1
9893
__meta__ = {
@@ -137,6 +132,7 @@ margin_right = 50.0
137132
margin_bottom = 20.0
138133
rect_min_size = Vector2( 50, 0 )
139134
size_flags_vertical = 1
135+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
140136
text = "Axis 1"
141137
valign = 1
142138
__meta__ = {
@@ -181,6 +177,7 @@ margin_right = 50.0
181177
margin_bottom = 20.0
182178
rect_min_size = Vector2( 50, 0 )
183179
size_flags_vertical = 1
180+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
184181
text = "Axis 2"
185182
valign = 1
186183
__meta__ = {
@@ -225,6 +222,7 @@ margin_right = 50.0
225222
margin_bottom = 20.0
226223
rect_min_size = Vector2( 50, 0 )
227224
size_flags_vertical = 1
225+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
228226
text = "Axis 3"
229227
valign = 1
230228
__meta__ = {
@@ -269,6 +267,7 @@ margin_right = 50.0
269267
margin_bottom = 20.0
270268
rect_min_size = Vector2( 50, 0 )
271269
size_flags_vertical = 1
270+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
272271
text = "Axis 4"
273272
valign = 1
274273
__meta__ = {
@@ -313,6 +312,7 @@ margin_right = 50.0
313312
margin_bottom = 20.0
314313
rect_min_size = Vector2( 50, 0 )
315314
size_flags_vertical = 1
315+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
316316
text = "Axis 5"
317317
valign = 1
318318
__meta__ = {
@@ -357,6 +357,7 @@ margin_right = 50.0
357357
margin_bottom = 20.0
358358
rect_min_size = Vector2( 50, 0 )
359359
size_flags_vertical = 1
360+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
360361
text = "Axis 6"
361362
valign = 1
362363
__meta__ = {
@@ -401,6 +402,7 @@ margin_right = 50.0
401402
margin_bottom = 20.0
402403
rect_min_size = Vector2( 50, 0 )
403404
size_flags_vertical = 1
405+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
404406
text = "Axis 7"
405407
valign = 1
406408
__meta__ = {
@@ -445,6 +447,7 @@ margin_right = 50.0
445447
margin_bottom = 20.0
446448
rect_min_size = Vector2( 50, 0 )
447449
size_flags_vertical = 1
450+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
448451
text = "Axis 8"
449452
valign = 1
450453
__meta__ = {
@@ -489,6 +492,7 @@ margin_right = 50.0
489492
margin_bottom = 20.0
490493
rect_min_size = Vector2( 50, 0 )
491494
size_flags_vertical = 1
495+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
492496
text = "Axis 9"
493497
valign = 1
494498
__meta__ = {
@@ -533,6 +537,7 @@ margin_right = 50.0
533537
margin_bottom = 20.0
534538
rect_min_size = Vector2( 50, 0 )
535539
size_flags_vertical = 1
540+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
536541
text = "Axis 10"
537542
valign = 1
538543
__meta__ = {
@@ -601,7 +606,7 @@ margin_bottom = 20.0
601606
rect_min_size = Vector2( 0, 20 )
602607
size_flags_horizontal = 3
603608
size_flags_vertical = 1
604-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
609+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
605610
text = "0"
606611
align = 1
607612
valign = 1
@@ -616,7 +621,7 @@ margin_bottom = 20.0
616621
rect_min_size = Vector2( 0, 20 )
617622
size_flags_horizontal = 3
618623
size_flags_vertical = 1
619-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
624+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
620625
text = "1"
621626
align = 1
622627
valign = 1
@@ -631,7 +636,7 @@ margin_bottom = 20.0
631636
rect_min_size = Vector2( 0, 20 )
632637
size_flags_horizontal = 3
633638
size_flags_vertical = 1
634-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
639+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
635640
text = "2"
636641
align = 1
637642
valign = 1
@@ -646,7 +651,7 @@ margin_bottom = 20.0
646651
rect_min_size = Vector2( 0, 20 )
647652
size_flags_horizontal = 3
648653
size_flags_vertical = 1
649-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
654+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
650655
text = "3"
651656
align = 1
652657
valign = 1
@@ -661,7 +666,7 @@ margin_bottom = 20.0
661666
rect_min_size = Vector2( 0, 20 )
662667
size_flags_horizontal = 3
663668
size_flags_vertical = 1
664-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
669+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
665670
text = "4"
666671
align = 1
667672
valign = 1
@@ -676,7 +681,7 @@ margin_bottom = 20.0
676681
rect_min_size = Vector2( 0, 20 )
677682
size_flags_horizontal = 3
678683
size_flags_vertical = 1
679-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
684+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
680685
text = "5"
681686
align = 1
682687
valign = 1
@@ -691,7 +696,7 @@ margin_bottom = 20.0
691696
rect_min_size = Vector2( 0, 20 )
692697
size_flags_horizontal = 3
693698
size_flags_vertical = 1
694-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
699+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
695700
text = "6"
696701
align = 1
697702
valign = 1
@@ -706,7 +711,7 @@ margin_bottom = 20.0
706711
rect_min_size = Vector2( 0, 20 )
707712
size_flags_horizontal = 3
708713
size_flags_vertical = 1
709-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
714+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
710715
text = "7"
711716
align = 1
712717
valign = 1
@@ -721,7 +726,7 @@ margin_bottom = 44.0
721726
rect_min_size = Vector2( 0, 20 )
722727
size_flags_horizontal = 3
723728
size_flags_vertical = 1
724-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
729+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
725730
text = "8"
726731
align = 1
727732
valign = 1
@@ -737,7 +742,7 @@ margin_bottom = 44.0
737742
rect_min_size = Vector2( 0, 20 )
738743
size_flags_horizontal = 3
739744
size_flags_vertical = 1
740-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
745+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
741746
text = "9"
742747
align = 1
743748
valign = 1
@@ -753,7 +758,7 @@ margin_bottom = 44.0
753758
rect_min_size = Vector2( 0, 20 )
754759
size_flags_horizontal = 3
755760
size_flags_vertical = 1
756-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
761+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
757762
text = "10"
758763
align = 1
759764
valign = 1
@@ -769,7 +774,7 @@ margin_bottom = 44.0
769774
rect_min_size = Vector2( 0, 20 )
770775
size_flags_horizontal = 3
771776
size_flags_vertical = 1
772-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
777+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
773778
text = "11"
774779
align = 1
775780
valign = 1
@@ -785,7 +790,7 @@ margin_bottom = 44.0
785790
rect_min_size = Vector2( 0, 20 )
786791
size_flags_horizontal = 3
787792
size_flags_vertical = 1
788-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
793+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
789794
text = "12"
790795
align = 1
791796
valign = 1
@@ -801,7 +806,7 @@ margin_bottom = 44.0
801806
rect_min_size = Vector2( 0, 20 )
802807
size_flags_horizontal = 3
803808
size_flags_vertical = 1
804-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
809+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
805810
text = "13"
806811
align = 1
807812
valign = 1
@@ -817,7 +822,7 @@ margin_bottom = 44.0
817822
rect_min_size = Vector2( 0, 20 )
818823
size_flags_horizontal = 3
819824
size_flags_vertical = 1
820-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
825+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
821826
text = "14"
822827
align = 1
823828
valign = 1
@@ -833,7 +838,7 @@ margin_bottom = 44.0
833838
rect_min_size = Vector2( 0, 20 )
834839
size_flags_horizontal = 3
835840
size_flags_vertical = 1
836-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
841+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
837842
text = "15"
838843
align = 1
839844
valign = 1
@@ -848,7 +853,7 @@ margin_bottom = 68.0
848853
rect_min_size = Vector2( 0, 20 )
849854
size_flags_horizontal = 3
850855
size_flags_vertical = 1
851-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
856+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
852857
text = "16"
853858
align = 1
854859
valign = 1
@@ -864,7 +869,7 @@ margin_bottom = 68.0
864869
rect_min_size = Vector2( 0, 20 )
865870
size_flags_horizontal = 3
866871
size_flags_vertical = 1
867-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
872+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
868873
text = "17"
869874
align = 1
870875
valign = 1
@@ -880,7 +885,7 @@ margin_bottom = 68.0
880885
rect_min_size = Vector2( 0, 20 )
881886
size_flags_horizontal = 3
882887
size_flags_vertical = 1
883-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
888+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
884889
text = "18"
885890
align = 1
886891
valign = 1
@@ -896,7 +901,7 @@ margin_bottom = 68.0
896901
rect_min_size = Vector2( 0, 20 )
897902
size_flags_horizontal = 3
898903
size_flags_vertical = 1
899-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
904+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
900905
text = "19"
901906
align = 1
902907
valign = 1
@@ -912,7 +917,7 @@ margin_bottom = 68.0
912917
rect_min_size = Vector2( 0, 20 )
913918
size_flags_horizontal = 3
914919
size_flags_vertical = 1
915-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
920+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
916921
text = "20"
917922
align = 1
918923
valign = 1
@@ -928,7 +933,7 @@ margin_bottom = 68.0
928933
rect_min_size = Vector2( 0, 20 )
929934
size_flags_horizontal = 3
930935
size_flags_vertical = 1
931-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
936+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
932937
text = "21"
933938
align = 1
934939
valign = 1
@@ -944,7 +949,7 @@ margin_bottom = 68.0
944949
rect_min_size = Vector2( 0, 20 )
945950
size_flags_horizontal = 3
946951
size_flags_vertical = 1
947-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
952+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
948953
text = "22"
949954
align = 1
950955
valign = 1
@@ -960,7 +965,7 @@ margin_bottom = 68.0
960965
rect_min_size = Vector2( 0, 20 )
961966
size_flags_horizontal = 3
962967
size_flags_vertical = 1
963-
custom_colors/font_color = Color( 0.2, 0.1, 0.3, 1 )
968+
custom_colors/font_color = Color( 1, 1, 1, 0.501961 )
964969
text = "23"
965970
align = 1
966971
valign = 1

0 commit comments

Comments
 (0)