From f10233ba313625c9315d6708295eeb47331d0c64 Mon Sep 17 00:00:00 2001 From: Dana Olson Date: Wed, 6 Aug 2014 02:29:14 -0400 Subject: [PATCH] added joysticks demo --- demos/misc/joysticks/engine.cfg | 10 ++++++++ demos/misc/joysticks/icon.png | Bin 0 -> 2916 bytes demos/misc/joysticks/joysticks.gd | 40 +++++++++++++++++++++++++++++ demos/misc/joysticks/joysticks.scn | Bin 0 -> 3809 bytes 4 files changed, 50 insertions(+) create mode 100644 demos/misc/joysticks/engine.cfg create mode 100644 demos/misc/joysticks/icon.png create mode 100644 demos/misc/joysticks/joysticks.gd create mode 100644 demos/misc/joysticks/joysticks.scn diff --git a/demos/misc/joysticks/engine.cfg b/demos/misc/joysticks/engine.cfg new file mode 100644 index 0000000000..71ac91000e --- /dev/null +++ b/demos/misc/joysticks/engine.cfg @@ -0,0 +1,10 @@ +[application] + +name="Joysticks" +main_scene="res://joysticks.scn" +icon="res://icon.png" + +[display] + +width=260 +height=300 diff --git a/demos/misc/joysticks/icon.png b/demos/misc/joysticks/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..06b0d7532dd85cbbc2855c691bf8d2d5d57f198f GIT binary patch literal 2916 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 literal 0 HcmV?d00001 diff --git a/demos/misc/joysticks/joysticks.gd b/demos/misc/joysticks/joysticks.gd new file mode 100644 index 0000000000..d359e993e6 --- /dev/null +++ b/demos/misc/joysticks/joysticks.gd @@ -0,0 +1,40 @@ + +extends Node2D + +# Joysticks demo, written by Dana Olson +# +# This is a demo of joystick support, and doubles as a testing application +# inspired by and similar to jstest-gtk. +# +# Licensed under the MIT license + +var joy_num +var cur_joy +var axis_value +var btn_state + +func _ready(): + set_process_input(true) + +func _input(ev): + # get the joystick device number from the spinbox + joy_num = get_node("joy_num").get_value() + + # display the name of the joystick if we haven't already + if joy_num != cur_joy: + cur_joy = joy_num + get_node("joy_name").set_text( Input.get_joy_name(joy_num) ) + + # loop through the axes and show their current values + for axis in range(0,8): + 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)) + + # loop through the buttons and highlight the ones that are pressed + for btn in range(0,17): + 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)) + else: + get_node("btn"+str(btn)).add_color_override("font_color",Color(0.2,0.1,0.3,1)) diff --git a/demos/misc/joysticks/joysticks.scn b/demos/misc/joysticks/joysticks.scn new file mode 100644 index 0000000000000000000000000000000000000000..5dbd7f49bf93fd8a14628ea9a571ed32b8fb71ea GIT binary patch literal 3809 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 S7U$k&2lZ!zf`gnvom&9pdo*AG literal 0 HcmV?d00001