From 63ad92f4c20db7c24d7cc56831da0cd81769003c Mon Sep 17 00:00:00 2001 From: hondres Date: Wed, 6 Jan 2016 01:01:50 +0100 Subject: visual representation for joystick demo --- demos/misc/joysticks/diagram.png | Bin 0 -> 171519 bytes demos/misc/joysticks/engine.cfg | 2 +- demos/misc/joysticks/indicators.png | Bin 0 -> 1069 bytes demos/misc/joysticks/joysticks.gd | 18 ++++-- demos/misc/joysticks/joysticks.scn | Bin 4016 -> 4356 bytes demos/misc/joysticks/jsdiagram.xscn | 115 ++++++++++++++++++++++++++++++++++++ 6 files changed, 130 insertions(+), 5 deletions(-) create mode 100644 demos/misc/joysticks/diagram.png create mode 100644 demos/misc/joysticks/indicators.png create mode 100644 demos/misc/joysticks/jsdiagram.xscn (limited to 'demos/misc') diff --git a/demos/misc/joysticks/diagram.png b/demos/misc/joysticks/diagram.png new file mode 100644 index 0000000000..3f8ba1f973 Binary files /dev/null and b/demos/misc/joysticks/diagram.png differ diff --git a/demos/misc/joysticks/engine.cfg b/demos/misc/joysticks/engine.cfg index 71ac91000e..79cda1eeb4 100644 --- a/demos/misc/joysticks/engine.cfg +++ b/demos/misc/joysticks/engine.cfg @@ -6,5 +6,5 @@ icon="res://icon.png" [display] -width=260 +width=550 height=300 diff --git a/demos/misc/joysticks/indicators.png b/demos/misc/joysticks/indicators.png new file mode 100644 index 0000000000..90fee48498 Binary files /dev/null and b/demos/misc/joysticks/indicators.png differ diff --git a/demos/misc/joysticks/joysticks.gd b/demos/misc/joysticks/joysticks.gd index 7add88573d..f5bc1bddad 100644 --- a/demos/misc/joysticks/joysticks.gd +++ b/demos/misc/joysticks/joysticks.gd @@ -14,8 +14,9 @@ var cur_joy var axis_value var btn_state +const DEADZONE = 0.2 -func _input(event): +func _fixed_process(delta): # Get the joystick device number from the spinbox joy_num = get_node("joy_num").get_value() @@ -29,15 +30,24 @@ func _input(event): axis_value = Input.get_joy_axis(joy_num, axis) get_node("axis_prog" + str(axis)).set_value(100*axis_value) get_node("axis_val" + str(axis)).set_text(str(axis_value)) + if (axis < 4): + if (abs(axis_value) < DEADZONE): + get_node("diagram/axes/" + str(axis) + "+").hide() + get_node("diagram/axes/" + str(axis) + "-").hide() + elif (axis_value > 0): + get_node("diagram/axes/" + str(axis) + "+").show() + else: + get_node("diagram/axes/" + str(axis) + "-").show() # Loop through the buttons and highlight the ones that are pressed - for btn in range(0, 17): + for btn in range(0, 16): btn_state = 1 if (Input.is_joy_button_pressed(joy_num, btn)): get_node("btn" + str(btn)).add_color_override("font_color", Color(1, 1, 1, 1)) + get_node("diagram/buttons/" + str(btn)).show() else: get_node("btn" + str(btn)).add_color_override("font_color", Color(0.2, 0.1, 0.3, 1)) - + get_node("diagram/buttons/" + str(btn)).hide() func _ready(): - set_process_input(true) + set_fixed_process(true) diff --git a/demos/misc/joysticks/joysticks.scn b/demos/misc/joysticks/joysticks.scn index b78bccbf33..3e0f326a0d 100644 Binary files a/demos/misc/joysticks/joysticks.scn and b/demos/misc/joysticks/joysticks.scn differ diff --git a/demos/misc/joysticks/jsdiagram.xscn b/demos/misc/joysticks/jsdiagram.xscn new file mode 100644 index 0000000000..537ad30278 --- /dev/null +++ b/demos/misc/joysticks/jsdiagram.xscn @@ -0,0 +1,115 @@ + + + + + + + "conn_count" + 0 + "conns" + + "editable_instances" + + + "names" + + "diagram" + "transform/pos" + "transform/scale" + "texture" + "__meta__" + "Sprite" + "buttons" + "Node2D" + "0" + "region" + "region_rect" + "1" + "2" + "3" + "4" + "5" + "6" + "flip_h" + "7" + "8" + "9" + "10" + "11" + "12" + "13" + "flip_v" + "14" + "15" + "axes" + "0-" + "0+" + "1-" + "1+" + "3-" + "3+" + "2-" + "2+" + + "node_count" + 27 + "node_paths" + + + "nodes" + -1, -1, 5, 0, -1, 4, 1, 0, 2, 1, 3, 2, 4, 3, 0, 0, 0, 7, 6, -1, 1, 4, 4, 0, 1, 0, 5, 8, -1, 5, 1, 5, 2, 6, 3, 7, 9, 8, 10, 9, 0, 1, 0, 5, 11, -1, 5, 1, 10, 2, 6, 3, 7, 9, 8, 10, 9, 0, 1, 0, 5, 12, -1, 5, 1, 11, 2, 6, 3, 7, 9, 8, 10, 9, 0, 1, 0, 5, 13, -1, 5, 1, 12, 2, 6, 3, 7, 9, 8, 10, 9, 0, 1, 0, 5, 14, -1, 5, 1, 13, 2, 14, 3, 7, 9, 8, 10, 15, 0, 1, 0, 5, 15, -1, 5, 1, 16, 2, 14, 3, 7, 9, 8, 10, 15, 0, 1, 0, 5, 16, -1, 6, 1, 17, 2, 18, 3, 7, 17, 8, 9, 8, 10, 19, 0, 1, 0, 5, 18, -1, 5, 1, 20, 2, 18, 3, 7, 9, 8, 10, 19, 0, 1, 0, 5, 19, -1, 5, 1, 21, 2, 6, 3, 7, 9, 8, 10, 9, 0, 1, 0, 5, 20, -1, 5, 1, 22, 2, 6, 3, 7, 9, 8, 10, 9, 0, 1, 0, 5, 21, -1, 5, 1, 23, 2, 24, 3, 7, 9, 8, 10, 9, 0, 1, 0, 5, 22, -1, 5, 1, 25, 2, 24, 3, 7, 9, 8, 10, 9, 0, 1, 0, 5, 23, -1, 5, 1, 26, 2, 6, 3, 7, 9, 8, 10, 27, 0, 1, 0, 5, 24, -1, 6, 1, 28, 2, 6, 3, 7, 25, 8, 9, 8, 10, 27, 0, 1, 0, 5, 26, -1, 5, 1, 29, 2, 6, 3, 7, 9, 8, 10, 30, 0, 1, 0, 5, 27, -1, 6, 1, 31, 2, 6, 3, 7, 17, 8, 9, 8, 10, 30, 0, 0, 0, 7, 28, -1, 0, 0, 18, 0, 5, 29, -1, 5, 1, 32, 2, 6, 3, 7, 9, 8, 10, 30, 0, 18, 0, 5, 30, -1, 6, 1, 33, 2, 6, 3, 7, 17, 8, 9, 8, 10, 30, 0, 18, 0, 5, 31, -1, 5, 1, 34, 2, 6, 3, 7, 9, 8, 10, 27, 0, 18, 0, 5, 32, -1, 6, 1, 35, 2, 6, 3, 7, 25, 8, 9, 8, 10, 27, 0, 18, 0, 5, 33, -1, 5, 1, 36, 2, 6, 3, 7, 9, 8, 10, 27, 0, 18, 0, 5, 34, -1, 6, 1, 37, 2, 6, 3, 7, 25, 8, 9, 8, 10, 27, 0, 18, 0, 5, 35, -1, 5, 1, 38, 2, 6, 3, 7, 9, 8, 10, 30, 0, 18, 0, 5, 36, -1, 6, 1, 39, 2, 6, 3, 7, 17, 8, 9, 8, 10, 30, 0 + "variants" + + 368.635, 155.289 + 0.432859, 0.446287 + + + "__editor_plugin_screen__" + "2D" + + + "_editor_collapsed" + True + + 147.73, 120.925 + 0.9, 0.9 + + True + 0, 0, 45, 45 + 185.769, 82.4874 + 112.377, 82.4874 + 149.073, 47.3293 + -161.038, -158.037 + 5.3348, 3.35512 + 10, 10, 10, 10 + 159.362, -156.977 + -159.349, -221.878 + 1.0458, 2.16952 + 0, 0, 45, 22 + 156.677, -220.11 + -67.5308, 164.422 + 75.8825, 167.363 + -46.6707, 52.702 + 0.810497, 0.57205 + 56.2581, 54.4382 + -139.402, 46.8295 + 50, 0, 54, 14 + -139.838, 115.789 + -172.262, 81.8793 + 50, 0, 14, 54 + -105.085, 81.0326 + -94.4295, 164.932 + -40.3475, 164.509 + -67.6802, 137.926 + -67.4618, 192.915 + 76.6557, 140.986 + 76.0009, 195.339 + 48.8152, 167.145 + 102.899, 167.857 + + "version" + 2 + + + + \ No newline at end of file -- cgit v1.2.3