From 7b11b1c2d8552b99f3e615a79621a2db769d9f5d Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Thu, 23 May 2024 23:45:28 +0200 Subject: initial commit --- .gitattributes | 2 + .gitignore | 2 + Assets/Tilesets/road.kra | Bin 0 -> 31001 bytes Assets/Tilesets/road.kra~ | Bin 0 -> 30751 bytes Assets/Tilesets/road.png | Bin 0 -> 159 bytes Assets/Tilesets/road.png.import | 34 +++++++ Assets/Tilesets/road.png~ | Bin 0 -> 138 bytes Assets/Tilesets/road_corner.kra | Bin 0 -> 31046 bytes Assets/Tilesets/road_corner.kra~ | Bin 0 -> 31121 bytes Assets/Tilesets/road_corner.png | Bin 0 -> 167 bytes Assets/Tilesets/road_corner.png.import | 34 +++++++ Assets/Tilesets/road_corner.png~ | Bin 0 -> 145 bytes Overworld.gd | 47 ++++++++++ Overworld.tscn | 161 +++++++++++++++++++++++++++++++++ OverworldPath.gd | 33 +++++++ OverworldPath.tscn | 9 ++ Player.gd | 36 ++++++++ Player.tscn | 24 +++++ Stage.tscn | 29 ++++++ icon.svg | 1 + icon.svg.import | 37 ++++++++ project.godot | 32 +++++++ 22 files changed, 481 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Assets/Tilesets/road.kra create mode 100644 Assets/Tilesets/road.kra~ create mode 100644 Assets/Tilesets/road.png create mode 100644 Assets/Tilesets/road.png.import create mode 100644 Assets/Tilesets/road.png~ create mode 100644 Assets/Tilesets/road_corner.kra create mode 100644 Assets/Tilesets/road_corner.kra~ create mode 100644 Assets/Tilesets/road_corner.png create mode 100644 Assets/Tilesets/road_corner.png.import create mode 100644 Assets/Tilesets/road_corner.png~ create mode 100644 Overworld.gd create mode 100644 Overworld.tscn create mode 100644 OverworldPath.gd create mode 100644 OverworldPath.tscn create mode 100644 Player.gd create mode 100644 Player.tscn create mode 100644 Stage.tscn create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 project.godot diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4709183 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Godot 4+ specific ignores +.godot/ diff --git a/Assets/Tilesets/road.kra b/Assets/Tilesets/road.kra new file mode 100644 index 0000000..d864c90 Binary files /dev/null and b/Assets/Tilesets/road.kra differ diff --git a/Assets/Tilesets/road.kra~ b/Assets/Tilesets/road.kra~ new file mode 100644 index 0000000..1a5d325 Binary files /dev/null and b/Assets/Tilesets/road.kra~ differ diff --git a/Assets/Tilesets/road.png b/Assets/Tilesets/road.png new file mode 100644 index 0000000..7256d38 Binary files /dev/null and b/Assets/Tilesets/road.png differ diff --git a/Assets/Tilesets/road.png.import b/Assets/Tilesets/road.png.import new file mode 100644 index 0000000..81bfe1e --- /dev/null +++ b/Assets/Tilesets/road.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c72p3u0lq07cg" +path="res://.godot/imported/road.png-e1b8e8cdbaa17427c3f17ab597a2e29e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Tilesets/road.png" +dest_files=["res://.godot/imported/road.png-e1b8e8cdbaa17427c3f17ab597a2e29e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Tilesets/road.png~ b/Assets/Tilesets/road.png~ new file mode 100644 index 0000000..a55a726 Binary files /dev/null and b/Assets/Tilesets/road.png~ differ diff --git a/Assets/Tilesets/road_corner.kra b/Assets/Tilesets/road_corner.kra new file mode 100644 index 0000000..af975f4 Binary files /dev/null and b/Assets/Tilesets/road_corner.kra differ diff --git a/Assets/Tilesets/road_corner.kra~ b/Assets/Tilesets/road_corner.kra~ new file mode 100644 index 0000000..8a3439e Binary files /dev/null and b/Assets/Tilesets/road_corner.kra~ differ diff --git a/Assets/Tilesets/road_corner.png b/Assets/Tilesets/road_corner.png new file mode 100644 index 0000000..1d6fa8d Binary files /dev/null and b/Assets/Tilesets/road_corner.png differ diff --git a/Assets/Tilesets/road_corner.png.import b/Assets/Tilesets/road_corner.png.import new file mode 100644 index 0000000..7d81a8e --- /dev/null +++ b/Assets/Tilesets/road_corner.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cnhs8rxckalxk" +path="res://.godot/imported/road_corner.png-b95fcef3e08af7b17ca3c6838333d89b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Tilesets/road_corner.png" +dest_files=["res://.godot/imported/road_corner.png-b95fcef3e08af7b17ca3c6838333d89b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Tilesets/road_corner.png~ b/Assets/Tilesets/road_corner.png~ new file mode 100644 index 0000000..43eba40 Binary files /dev/null and b/Assets/Tilesets/road_corner.png~ differ diff --git a/Overworld.gd b/Overworld.gd new file mode 100644 index 0000000..8031d56 --- /dev/null +++ b/Overworld.gd @@ -0,0 +1,47 @@ +extends Node2D + + +const FOLLOW_SPEED = 30 + +@onready var current_node: OverworldPath = $OverworldPath +var follows_next_path = false +var follows_previous_path = false + + +func _process(delta): + var path_direction = "" + if Input.is_action_just_pressed("ui_up"): + path_direction = "up" + if Input.is_action_just_pressed("ui_down"): + path_direction = "down" + if Input.is_action_just_pressed("ui_left"): + path_direction = "left" + if Input.is_action_just_pressed("ui_right"): + path_direction = "right" + + if current_node.next_direction.has(path_direction): + follows_next_path = true + follows_previous_path = false + if current_node.progress > 0.0 and current_node.previous_direction.has(path_direction): + follows_next_path = false + follows_previous_path = true + elif current_node.progress == 0.0 and current_node.previous_path and current_node.previous_path.previous_direction.has(path_direction): + current_node = current_node.previous_path + follows_next_path = false + follows_previous_path = true + + if follows_next_path: + if current_node.progress < 1.0: + current_node.progress += delta + $AnimatedSprite2D.position = current_node.current_position + else: + follows_next_path = false + if current_node.next_path: + current_node = current_node.next_path + + if follows_previous_path: + if current_node.progress > 0.0: + current_node.progress -= delta + $AnimatedSprite2D.position = current_node.current_position + else: + follows_previous_path = false diff --git a/Overworld.tscn b/Overworld.tscn new file mode 100644 index 0000000..0ec8362 --- /dev/null +++ b/Overworld.tscn @@ -0,0 +1,161 @@ +[gd_scene load_steps=14 format=3 uid="uid://bfusqf766qtpf"] + +[ext_resource type="Texture2D" uid="uid://c82tsvwwnmfhe" path="res://icon.svg" id="1_0jh6x"] +[ext_resource type="Script" path="res://Overworld.gd" id="1_kdl46"] +[ext_resource type="PackedScene" uid="uid://myunq3ivtmou" path="res://OverworldPath.tscn" id="3_g7b5j"] +[ext_resource type="Texture2D" uid="uid://c72p3u0lq07cg" path="res://Assets/Tilesets/road.png" id="3_m4ypw"] +[ext_resource type="Texture2D" uid="uid://cnhs8rxckalxk" path="res://Assets/Tilesets/road_corner.png" id="4_e8qoa"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_7b4gy"] +texture = ExtResource("3_m4ypw") +0:0/0 = 0 +1:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_s2dpj"] +texture = ExtResource("4_e8qoa") +0:0/0 = 0 +1:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_huksr"] +texture = ExtResource("1_0jh6x") +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +3:0/0 = 0 +4:0/0 = 0 +5:0/0 = 0 +6:0/0 = 0 +7:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +3:1/0 = 0 +4:1/0 = 0 +5:1/0 = 0 +6:1/0 = 0 +7:1/0 = 0 +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +3:2/0 = 0 +4:2/0 = 0 +5:2/0 = 0 +6:2/0 = 0 +7:2/0 = 0 +0:3/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +3:3/0 = 0 +4:3/0 = 0 +5:3/0 = 0 +6:3/0 = 0 +7:3/0 = 0 +0:4/0 = 0 +1:4/0 = 0 +2:4/0 = 0 +3:4/0 = 0 +4:4/0 = 0 +5:4/0 = 0 +6:4/0 = 0 +7:4/0 = 0 +0:5/0 = 0 +1:5/0 = 0 +2:5/0 = 0 +3:5/0 = 0 +4:5/0 = 0 +5:5/0 = 0 +6:5/0 = 0 +7:5/0 = 0 +0:6/0 = 0 +1:6/0 = 0 +2:6/0 = 0 +3:6/0 = 0 +4:6/0 = 0 +5:6/0 = 0 +6:6/0 = 0 +7:6/0 = 0 +0:7/0 = 0 +1:7/0 = 0 +2:7/0 = 0 +3:7/0 = 0 +4:7/0 = 0 +5:7/0 = 0 +6:7/0 = 0 +7:7/0 = 0 + +[sub_resource type="TileSet" id="TileSet_h3x8v"] +sources/4 = SubResource("TileSetAtlasSource_7b4gy") +sources/5 = SubResource("TileSetAtlasSource_s2dpj") +sources/6 = SubResource("TileSetAtlasSource_huksr") + +[sub_resource type="SpriteFrames" id="SpriteFrames_yu5pw"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_0jh6x") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="Curve2D" id="Curve2D_32f0o"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 64, 256, 0, 0, 0, 0, 96, 256, 0, 0, 0, 0, 96, 224, 0, 0, 0, 0, 128, 224) +} +point_count = 4 + +[sub_resource type="Curve2D" id="Curve2D_vukdr"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 128, 224, 0, 0, 0, 0, 128, 128, 0, 0, 0, 0, 96, 128) +} +point_count = 3 + +[sub_resource type="Curve2D" id="Curve2D_tqmlv"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 96, 128, 0, 0, 0, 0, 64, 128, 0, 0, 0, 0, 64, 64) +} +point_count = 3 + +[node name="Overworld" type="Node2D"] +script = ExtResource("1_kdl46") + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(224, 160) +scale = Vector2(3.5, 2.5) +texture = ExtResource("1_0jh6x") +metadata/_edit_lock_ = true + +[node name="TileMap" type="TileMap" parent="."] +tile_set = SubResource("TileSet_h3x8v") +format = 2 +layer_0/tile_data = PackedInt32Array(983043, 4, 0, 1048579, 4, 1, 983044, 65540, 0, 1048580, 65540, 1, 983045, 5, 0, 1048581, 5, 1, 983046, 65541, 0, 1048582, 65541, 1, 851974, 5, 805306369, 917510, 5, 805306368, 851973, 65541, 805306369, 917509, 65541, 805306368, 917511, 5, 1, 851975, 5, 0, 917512, 65541, 1, 851976, 65541, 0, 786439, 65540, 1342177281, 720903, 4, 1342177281, 786440, 65540, 1342177280, 720904, 4, 1342177280, 655367, 65540, 1342177281, 589831, 4, 1342177281, 655368, 65540, 1342177280, 589832, 4, 1342177280, 524295, 5, 1610612736, 458759, 65541, 1610612736, 524296, 5, 1610612737, 458760, 65541, 1610612737, 458756, 5, 1342177280, 524292, 65541, 1342177280, 458755, 5, 1342177281, 524291, 65541, 1342177281, 458757, 4, 0, 524293, 4, 1, 458758, 65540, 0, 524294, 65540, 1, 327684, 4, 1342177280, 393220, 65540, 1342177280, 327683, 4, 1342177281, 393219, 65540, 1342177281, 196612, 4, 1342177280, 262148, 65540, 1342177280, 196611, 4, 1342177281, 262147, 65540, 1342177281) +layer_1/tile_data = PackedInt32Array(1048580, 6, 0, 917512, 6, 0, 524294, 6, 0, 262148, 6, 0, 524293, 458758, 0, 262147, 458758, 0, 917511, 458758, 0, 1048579, 458758, 0, 983043, 458758, 7, 196611, 458758, 7, 458757, 458758, 7, 851975, 458758, 7, 983044, 6, 7, 851976, 6, 7, 458758, 6, 7, 196612, 6, 7) + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +position = Vector2(64, 256) +scale = Vector2(0.125, 0.125) +sprite_frames = SubResource("SpriteFrames_yu5pw") + +[node name="OverworldPath" parent="." instance=ExtResource("3_g7b5j")] +curve = SubResource("Curve2D_32f0o") +next_direction = Array[String](["up", "right"]) +_next_path = NodePath("../OverworldPath2") +previous_direction = Array[String](["down", "left"]) + +[node name="OverworldPath2" parent="." instance=ExtResource("3_g7b5j")] +curve = SubResource("Curve2D_vukdr") +next_direction = Array[String](["up", "left"]) +_next_path = NodePath("../OverworldPath3") +previous_direction = Array[String](["down", "right"]) +_previous_path = NodePath("../OverworldPath") + +[node name="OverworldPath3" parent="." instance=ExtResource("3_g7b5j")] +curve = SubResource("Curve2D_tqmlv") +next_direction = Array[String](["up", "left"]) +previous_direction = Array[String](["down", "right"]) +_previous_path = NodePath("../OverworldPath2") diff --git a/OverworldPath.gd b/OverworldPath.gd new file mode 100644 index 0000000..6ae7b8c --- /dev/null +++ b/OverworldPath.gd @@ -0,0 +1,33 @@ +class_name OverworldPath +extends Path2D + + +@export var next_direction: Array[String] = [ + "up", "down", "left", "right", +] +@export_node_path("OverworldPath") var _next_path: NodePath +@export var previous_direction: Array[String] = [ + "up", "down", "left", "right", +] +@export_node_path("OverworldPath") var _previous_path: NodePath + + +var next_path: OverworldPath +var previous_path: OverworldPath + +var progress: float: + set(value): + $PathFollow2D.progress_ratio = value + get: + return $PathFollow2D.progress_ratio + +var current_position: Vector2: + get: + return $PathFollow2D.position + + +func _ready(): + if _next_path: + next_path = get_node(_next_path) + if _previous_path: + previous_path = get_node(_previous_path) diff --git a/OverworldPath.tscn b/OverworldPath.tscn new file mode 100644 index 0000000..ad65fdf --- /dev/null +++ b/OverworldPath.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://myunq3ivtmou"] + +[ext_resource type="Script" path="res://OverworldPath.gd" id="1_wha2a"] + +[node name="OverworldPath" type="Path2D"] +script = ExtResource("1_wha2a") + +[node name="PathFollow2D" type="PathFollow2D" parent="."] +loop = false diff --git a/Player.gd b/Player.gd new file mode 100644 index 0000000..9528586 --- /dev/null +++ b/Player.gd @@ -0,0 +1,36 @@ +extends CharacterBody2D + + +const SPEED = 300.0 + +const JUMP_VELOCITY = -400.0 + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") + + +func _physics_process(delta): + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gameplay actions. + var direction = Input.get_axis("ui_left", "ui_right") + if direction: + velocity.x = direction * SPEED + else: + velocity.x = move_toward(velocity.x, 0, SPEED) + + # Add the gravity. + if not is_on_floor(): + velocity.y += gravity * delta + + # Handle jump. + if Input.is_action_just_pressed("jump") and is_on_floor(): + velocity.y = JUMP_VELOCITY + if Input.is_action_just_released("jump"): + if velocity.y < 0: + velocity.y = 0 + + if is_on_wall() and not is_on_floor() and direction and Input.is_action_just_pressed("jump"): + velocity.y = JUMP_VELOCITY + velocity.x += abs((SPEED*2) / (JUMP_VELOCITY/gravity)) * -direction + + move_and_slide() diff --git a/Player.tscn b/Player.tscn new file mode 100644 index 0000000..fc9efcc --- /dev/null +++ b/Player.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=4 format=3 uid="uid://58k8ukwgcv4u"] + +[ext_resource type="Script" path="res://Player.gd" id="1_0qjo6"] +[ext_resource type="Texture2D" uid="uid://c82tsvwwnmfhe" path="res://icon.svg" id="2_sojjd"] + +[sub_resource type="SpriteFrames" id="SpriteFrames_0mhwv"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("2_sojjd") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[node name="Player" type="CharacterBody2D"] +script = ExtResource("1_0qjo6") + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] +polygon = PackedVector2Array(0, -64, 48, -64, 64, -48, 64, 48, 48, 64, -48, 64, -64, 48, -64, 0, -64, -48, -48, -64) + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = SubResource("SpriteFrames_0mhwv") diff --git a/Stage.tscn b/Stage.tscn new file mode 100644 index 0000000..c6542f3 --- /dev/null +++ b/Stage.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=5 format=3 uid="uid://bbfbi6tuggm7f"] + +[ext_resource type="Texture2D" uid="uid://c82tsvwwnmfhe" path="res://icon.svg" id="1_lktna"] +[ext_resource type="PackedScene" uid="uid://58k8ukwgcv4u" path="res://Player.tscn" id="2_wy2jy"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_tet6l"] +texture = ExtResource("1_lktna") +0:0/size_in_atlas = Vector2i(8, 8) +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-48, -64, 48, -64, 64, -48, 64, 48, 48, 64, -48, 64, -64, 48, -64, -48) + +[sub_resource type="TileSet" id="TileSet_8pkss"] +physics_layer_0/collision_layer = 1 +sources/1 = SubResource("TileSetAtlasSource_tet6l") + +[node name="Stage" type="Node2D"] + +[node name="TileMap" type="TileMap" parent="."] +tile_set = SubResource("TileSet_8pkss") +format = 2 +layer_0/name = "Ground" +layer_0/tile_data = PackedInt32Array(589824, 1, 0, 655352, 1, 0, 589832, 1, 0, 327691, 1, 0, 131088, 1, 0, -131050, 1, 0, 393203, 1, 0, 131054, 1, 0, -655338, 1, 0, -1179626, 1, 0, -1703914, 1, 0, -2228202, 1, 0, -65562, 1, 0, -327714, 1, 0, -524329, 1, 0, -720944, 1, 0) + +[node name="Player" parent="." instance=ExtResource("2_wy2jy")] + +[node name="Camera2D" type="Camera2D" parent="Player"] +position_smoothing_enabled = true diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..3fe4f4a --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..0639bc8 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c82tsvwwnmfhe" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..ce5a865 --- /dev/null +++ b/project.godot @@ -0,0 +1,32 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Squid Girl" +run/main_scene="res://Stage.tscn" +config/features=PackedStringArray("4.2", "Forward Plus") +config/icon="res://icon.svg" + +[display] + +window/size/viewport_width=640 +window/size/viewport_height=480 +window/stretch/mode="viewport" + +[input] + +jump={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +] +} -- cgit v1.2.3