From 763ce182a40ce4bf96777bee037e4b1786f1b589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20V=C3=A1squez=20P=C3=A9rez?= Date: Thu, 18 Jan 2024 15:31:40 -0800 Subject: [PATCH] Kept goiong, but not quite happy. --- AudioManager.gd | 1 + default_bus_layout.tres | 15 +++ scenes/UI/End.tscn | 9 +- scenes/UI/Splash.tscn | 10 +- scenes/UI/Start.tscn | 9 +- scenes/UI/Win.tscn | 9 +- scenes/levels/level_0.tscn | 95 +++++++++++++++++++ scenes/levels/level_1.tscn | 57 ++++++------ scenes/levels/level_X.tscn | 181 +++++++++++++++++++++++++++++++++++++ scenes/platform_00.tscn | 17 ++++ scenes/platform_01.tscn | 5 +- scripts/End.gd | 14 ++- scripts/Splash.gd | 8 +- scripts/Win.gd | 27 ++++++ scripts/World.gd | 46 ++++++++-- 15 files changed, 423 insertions(+), 80 deletions(-) create mode 100644 AudioManager.gd create mode 100644 default_bus_layout.tres create mode 100644 scenes/levels/level_0.tscn create mode 100644 scenes/levels/level_X.tscn create mode 100644 scenes/platform_00.tscn create mode 100644 scripts/Win.gd diff --git a/AudioManager.gd b/AudioManager.gd new file mode 100644 index 0000000..ef104ff --- /dev/null +++ b/AudioManager.gd @@ -0,0 +1 @@ +audiost diff --git a/default_bus_layout.tres b/default_bus_layout.tres new file mode 100644 index 0000000..9a6a4e1 --- /dev/null +++ b/default_bus_layout.tres @@ -0,0 +1,15 @@ +[gd_resource type="AudioBusLayout" format=3 uid="uid://bnfly6iu8nvfp"] + +[resource] +bus/1/name = &"SFX" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = 0.0 +bus/1/send = &"Master" +bus/2/name = &"Music" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = &"Master" diff --git a/scenes/UI/End.tscn b/scenes/UI/End.tscn index f28c8ff..445dc68 100644 --- a/scenes/UI/End.tscn +++ b/scenes/UI/End.tscn @@ -2,18 +2,11 @@ [ext_resource type="Script" path="res://scripts/End.gd" id="1_0587q"] -[node name="End" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="End" type="CanvasLayer"] script = ExtResource("1_0587q") metadata/_edit_use_anchors_ = true [node name="CenterContainer" type="CenterContainer" parent="."] -layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 diff --git a/scenes/UI/Splash.tscn b/scenes/UI/Splash.tscn index d533a82..1b02843 100644 --- a/scenes/UI/Splash.tscn +++ b/scenes/UI/Splash.tscn @@ -44,18 +44,11 @@ _data = { "animation": SubResource("Animation_2v5v3") } -[node name="Splash" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="Splash" type="CanvasLayer"] script = ExtResource("1_3yqra") metadata/_edit_use_anchors_ = true [node name="CenterContainer" type="CenterContainer" parent="."] -layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -68,7 +61,6 @@ layout_mode = 2 texture = ExtResource("2_fpfqa") [node name="ColorRect" type="ColorRect" parent="."] -layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 diff --git a/scenes/UI/Start.tscn b/scenes/UI/Start.tscn index 08371a4..dc6c628 100644 --- a/scenes/UI/Start.tscn +++ b/scenes/UI/Start.tscn @@ -2,18 +2,11 @@ [ext_resource type="Script" path="res://scripts/End.gd" id="1_jfc42"] -[node name="MainMenu" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="MainMenu" type="CanvasLayer"] script = ExtResource("1_jfc42") metadata/_edit_use_anchors_ = true [node name="CenterContainer" type="CenterContainer" parent="."] -layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 diff --git a/scenes/UI/Win.tscn b/scenes/UI/Win.tscn index 7bba337..612aa09 100644 --- a/scenes/UI/Win.tscn +++ b/scenes/UI/Win.tscn @@ -2,18 +2,11 @@ [ext_resource type="Script" path="res://scripts/End.gd" id="1_oljih"] -[node name="End" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="End" type="CanvasLayer"] script = ExtResource("1_oljih") metadata/_edit_use_anchors_ = true [node name="CenterContainer" type="CenterContainer" parent="."] -layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 diff --git a/scenes/levels/level_0.tscn b/scenes/levels/level_0.tscn new file mode 100644 index 0000000..6c09e8b --- /dev/null +++ b/scenes/levels/level_0.tscn @@ -0,0 +1,95 @@ +[gd_scene load_steps=6 format=3 uid="uid://bhoqj8b4oxyks"] + +[ext_resource type="PackedScene" uid="uid://dn0lboldm331y" path="res://scenes/platform_01.tscn" id="1_kka3y"] +[ext_resource type="Script" path="res://scripts/checkpoint.gd" id="2_0yetm"] +[ext_resource type="PackedScene" uid="uid://cuefds30ddne1" path="res://scenes/platform_00.tscn" id="4_wje6l"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_7hfyn"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_0f50m"] +size = Vector2(7318, 557) + +[node name="Level" type="Node2D"] +position = Vector2(0, 96) + +[node name="SpawnPoint" type="Node2D" parent="."] + +[node name="Platforms" type="CanvasGroup" parent="."] + +[node name="Platform_26" parent="Platforms" instance=ExtResource("1_kka3y")] +position = Vector2(28, 60) + +[node name="Platform_27" parent="Platforms" instance=ExtResource("1_kka3y")] +position = Vector2(328, 60) + +[node name="Platform_28" parent="Platforms" instance=ExtResource("1_kka3y")] +position = Vector2(674, 60) + +[node name="Platform_29" parent="Platforms" instance=ExtResource("1_kka3y")] +position = Vector2(1079, 139) + +[node name="Platform_31" parent="Platforms" instance=ExtResource("1_kka3y")] +position = Vector2(1629, 139) + +[node name="Platform_30" parent="Platforms" instance=ExtResource("1_kka3y")] +position = Vector2(2870, 59) + +[node name="Platform_25" parent="Platforms" instance=ExtResource("1_kka3y")] +modulate = Color(0.00784314, 0.490196, 0, 1) +position = Vector2(3755, 149) + +[node name="Platform_00" parent="Platforms" instance=ExtResource("4_wje6l")] +position = Vector2(1079, 60) + +[node name="Platform_09" parent="Platforms" instance=ExtResource("4_wje6l")] +position = Vector2(1629, 60) + +[node name="Platform_10" parent="Platforms" instance=ExtResource("4_wje6l")] +position = Vector2(1904, 60) + +[node name="Platform_01" parent="Platforms" instance=ExtResource("4_wje6l")] +position = Vector2(1354, 60) + +[node name="Platform_06" parent="Platforms" instance=ExtResource("4_wje6l")] +position = Vector2(2217, 59) + +[node name="Platform_07" parent="Platforms" instance=ExtResource("4_wje6l")] +position = Vector2(2492, 59) + +[node name="Checkpoints" type="CanvasGroup" parent="."] + +[node name="End" type="Area2D" parent="Checkpoints"] +position = Vector2(3755, 128) +scale = Vector2(16.672, 1) +script = ExtResource("2_0yetm") +type = "end" +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Checkpoints/End"] +shape = SubResource("RectangleShape2D_7hfyn") + +[node name="Abysses" type="CanvasGroup" parent="."] + +[node name="Abyss" type="Area2D" parent="Abysses"] +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Abysses/Abyss"] +position = Vector2(951, 1182) +shape = SubResource("RectangleShape2D_0f50m") + +[node name="Abyss2" type="Area2D" parent="Abysses"] +position = Vector2(0, -2964) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Abysses/Abyss2"] +position = Vector2(951, 1182) +shape = SubResource("RectangleShape2D_0f50m") + +[node name="Switches" type="CanvasGroup" parent="."] + +[node name="Direction" type="Node2D" parent="Switches"] + +[node name="Gravity" type="Node2D" parent="Switches"] + +[node name="Platform_30" parent="." instance=ExtResource("1_kka3y")] +position = Vector2(3287, 59) diff --git a/scenes/levels/level_1.tscn b/scenes/levels/level_1.tscn index f005cb4..66a73b9 100644 --- a/scenes/levels/level_1.tscn +++ b/scenes/levels/level_1.tscn @@ -13,66 +13,62 @@ size = Vector2(7318, 557) [sub_resource type="QuadMesh" id="QuadMesh_qcjog"] [node name="Level" type="Node2D"] +position = Vector2(0, 96) [node name="Platforms" type="CanvasGroup" parent="."] -[node name="Platform_01" parent="Platforms" instance=ExtResource("1_p1vy7")] - [node name="Platform_14" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(2986, 91) -scale = Vector2(16.672, 1) +position = Vector2(2861, 87) [node name="Platform_15" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(1483, -696) -scale = Vector2(16.672, 1) +position = Vector2(1159, -700) + +[node name="Platform_27" parent="Platforms" instance=ExtResource("1_p1vy7")] +position = Vector2(1556, -737) [node name="Platform_16" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(1595, 188) -scale = Vector2(16.672, 1) +position = Vector2(1470, 184) [node name="Platform_17" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(2068, 161) -scale = Vector2(16.672, 1) +position = Vector2(1943, 157) [node name="Platform_18" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(1019, -452) -scale = Vector2(16.672, 1) +position = Vector2(1159, 121) [node name="Platform_19" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(3629, 130) +position = Vector2(3504, 126) rotation = 1.5708 -scale = Vector2(16.672, 1) [node name="Platform_20" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(2338, 297) +position = Vector2(2213, 293) rotation = 1.5708 -scale = Vector2(16.672, 1) [node name="Platform_21" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(607, -296) -scale = Vector2(16.672, 1) +position = Vector2(393, 115) + +[node name="Platform_26" parent="Platforms" instance=ExtResource("1_p1vy7")] +position = Vector2(28, 115) [node name="Platform_22" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(1052, -220) -scale = Vector2(16.672, 1) +position = Vector2(791, 116) [node name="Platform_23" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(2604, 159) -scale = Vector2(16.672, 1) +position = Vector2(2479, 155) [node name="Platform_24" parent="Platforms" instance=ExtResource("1_p1vy7")] -position = Vector2(3363, 53) -scale = Vector2(16.672, 1) +position = Vector2(3238, 49) [node name="Platform_25" parent="Platforms" instance=ExtResource("1_p1vy7")] modulate = Color(0.00784314, 0.490196, 0, 1) -position = Vector2(3880, 153) -scale = Vector2(16.672, 1) +position = Vector2(3755, 149) + +[node name="Platform_02" parent="Platforms" instance=ExtResource("1_p1vy7")] +position = Vector2(573, -293) [node name="Checkpoints" type="CanvasGroup" parent="."] [node name="End" type="Area2D" parent="Checkpoints"] -position = Vector2(3880, 133) +position = Vector2(3755, 128) scale = Vector2(16.672, 1) script = ExtResource("1_mogvd") type = "end" @@ -103,9 +99,10 @@ shape = SubResource("RectangleShape2D_0f50m") [node name="Gravity" type="Node2D" parent="Switches"] [node name="GravitySwitch01" parent="Switches/Gravity" instance=ExtResource("2_ufuu6")] +position = Vector2(254, -48) [node name="GravitySwitch02" parent="Switches/Gravity" instance=ExtResource("2_ufuu6")] -position = Vector2(1344, -102) +position = Vector2(1355, -68) [node name="GravitySwitch03" parent="Switches/Gravity" instance=ExtResource("2_ufuu6")] position = Vector2(1743, -586) @@ -114,7 +111,7 @@ position = Vector2(1743, -586) [node name="DirectionSwitch01" type="Area2D" parent="Switches/Direction"] self_modulate = Color(0, 0.737255, 0.745098, 0.423529) -position = Vector2(1017, -416) +position = Vector2(1289, -667) collision_layer = 0 script = ExtResource("3_vaslk") type = "gravity" @@ -165,7 +162,7 @@ mesh = SubResource("QuadMesh_qcjog") [node name="DirectionSwitch04" type="Area2D" parent="Switches/Direction"] self_modulate = Color(0, 0.737255, 0.745098, 0.423529) -position = Vector2(2339, 104) +position = Vector2(2213, 120) collision_layer = 0 script = ExtResource("3_vaslk") type = "gravity" diff --git a/scenes/levels/level_X.tscn b/scenes/levels/level_X.tscn new file mode 100644 index 0000000..081579d --- /dev/null +++ b/scenes/levels/level_X.tscn @@ -0,0 +1,181 @@ +[gd_scene load_steps=8 format=3 uid="uid://ctnhjgpqxjrw0"] + +[ext_resource type="PackedScene" uid="uid://dn0lboldm331y" path="res://scenes/platform_01.tscn" id="1_30vdq"] +[ext_resource type="Script" path="res://scripts/checkpoint.gd" id="2_v00sg"] +[ext_resource type="PackedScene" uid="uid://cjpwcih4ro8gu" path="res://scenes/gravity_switch.tscn" id="3_fjevk"] +[ext_resource type="Script" path="res://scripts/switch.gd" id="4_64uew"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_7hfyn"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_0f50m"] +size = Vector2(7318, 557) + +[sub_resource type="QuadMesh" id="QuadMesh_qcjog"] + +[node name="Level" type="Node2D"] + +[node name="Platforms" type="CanvasGroup" parent="."] + +[node name="Platform_01" parent="Platforms" instance=ExtResource("1_30vdq")] + +[node name="Platform_14" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(2986, 91) +scale = Vector2(16.672, 1) + +[node name="Platform_15" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(1483, -696) +scale = Vector2(16.672, 1) + +[node name="Platform_16" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(1595, 188) +scale = Vector2(16.672, 1) + +[node name="Platform_17" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(2068, 161) +scale = Vector2(16.672, 1) + +[node name="Platform_18" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(1019, -452) +scale = Vector2(16.672, 1) + +[node name="Platform_19" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(3629, 130) +rotation = 1.5708 +scale = Vector2(16.672, 1) + +[node name="Platform_20" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(2338, 297) +rotation = 1.5708 +scale = Vector2(16.672, 1) + +[node name="Platform_21" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(607, -296) +scale = Vector2(16.672, 1) + +[node name="Platform_22" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(1052, -220) +scale = Vector2(16.672, 1) + +[node name="Platform_23" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(2604, 159) +scale = Vector2(16.672, 1) + +[node name="Platform_24" parent="Platforms" instance=ExtResource("1_30vdq")] +position = Vector2(3363, 53) +scale = Vector2(16.672, 1) + +[node name="Platform_25" parent="Platforms" instance=ExtResource("1_30vdq")] +modulate = Color(0.00784314, 0.490196, 0, 1) +position = Vector2(3880, 153) +scale = Vector2(16.672, 1) + +[node name="Checkpoints" type="CanvasGroup" parent="."] + +[node name="End" type="Area2D" parent="Checkpoints"] +position = Vector2(3880, 133) +scale = Vector2(16.672, 1) +script = ExtResource("2_v00sg") +type = "end" +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Checkpoints/End"] +shape = SubResource("RectangleShape2D_7hfyn") + +[node name="Abysses" type="CanvasGroup" parent="."] + +[node name="Abyss" type="Area2D" parent="Abysses"] +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Abysses/Abyss"] +position = Vector2(951, 1182) +shape = SubResource("RectangleShape2D_0f50m") + +[node name="Abyss2" type="Area2D" parent="Abysses"] +position = Vector2(0, -2964) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Abysses/Abyss2"] +position = Vector2(951, 1182) +shape = SubResource("RectangleShape2D_0f50m") + +[node name="Switches" type="CanvasGroup" parent="."] + +[node name="Gravity" type="Node2D" parent="Switches"] + +[node name="GravitySwitch01" parent="Switches/Gravity" instance=ExtResource("3_fjevk")] + +[node name="GravitySwitch02" parent="Switches/Gravity" instance=ExtResource("3_fjevk")] +position = Vector2(1344, -102) + +[node name="GravitySwitch03" parent="Switches/Gravity" instance=ExtResource("3_fjevk")] +position = Vector2(1743, -586) + +[node name="Direction" type="Node2D" parent="Switches"] + +[node name="DirectionSwitch01" type="Area2D" parent="Switches/Direction"] +self_modulate = Color(0, 0.737255, 0.745098, 0.423529) +position = Vector2(1017, -416) +collision_layer = 0 +script = ExtResource("4_64uew") +type = "gravity" +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Switches/Direction/DirectionSwitch01"] +scale = Vector2(2, 2) +shape = SubResource("RectangleShape2D_7hfyn") + +[node name="MeshInstance2D" type="MeshInstance2D" parent="Switches/Direction/DirectionSwitch01"] +self_modulate = Color(1, 1, 1, 0.0980392) +scale = Vector2(48, 48) +mesh = SubResource("QuadMesh_qcjog") + +[node name="DirectionSwitch02" type="Area2D" parent="Switches/Direction"] +self_modulate = Color(0, 0.737255, 0.745098, 0.423529) +position = Vector2(703, -262) +collision_layer = 0 +script = ExtResource("4_64uew") +type = "gravity" +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Switches/Direction/DirectionSwitch02"] +scale = Vector2(2, 2) +shape = SubResource("RectangleShape2D_7hfyn") + +[node name="MeshInstance2D" type="MeshInstance2D" parent="Switches/Direction/DirectionSwitch02"] +self_modulate = Color(1, 1, 1, 0.0980392) +scale = Vector2(48, 48) +mesh = SubResource("QuadMesh_qcjog") + +[node name="DirectionSwitch03" type="Area2D" parent="Switches/Direction"] +self_modulate = Color(0, 0.737255, 0.745098, 0.423529) +position = Vector2(1642, 153) +collision_layer = 0 +script = ExtResource("4_64uew") +type = "gravity" +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Switches/Direction/DirectionSwitch03"] +scale = Vector2(2, 2) +shape = SubResource("RectangleShape2D_7hfyn") + +[node name="MeshInstance2D" type="MeshInstance2D" parent="Switches/Direction/DirectionSwitch03"] +self_modulate = Color(1, 1, 1, 0.0980392) +scale = Vector2(48, 48) +mesh = SubResource("QuadMesh_qcjog") + +[node name="DirectionSwitch04" type="Area2D" parent="Switches/Direction"] +self_modulate = Color(0, 0.737255, 0.745098, 0.423529) +position = Vector2(2339, 104) +collision_layer = 0 +script = ExtResource("4_64uew") +type = "gravity" +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Switches/Direction/DirectionSwitch04"] +scale = Vector2(2, 2) +shape = SubResource("RectangleShape2D_7hfyn") + +[node name="MeshInstance2D" type="MeshInstance2D" parent="Switches/Direction/DirectionSwitch04"] +self_modulate = Color(1, 1, 1, 0.0980392) +scale = Vector2(48, 48) +mesh = SubResource("QuadMesh_qcjog") diff --git a/scenes/platform_00.tscn b/scenes/platform_00.tscn new file mode 100644 index 0000000..b2e5612 --- /dev/null +++ b/scenes/platform_00.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=3 uid="uid://cuefds30ddne1"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_7hfyn"] + +[sub_resource type="QuadMesh" id="QuadMesh_qcjog"] + +[node name="Platform_00" type="StaticBody2D"] +collision_layer = 2 +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +scale = Vector2(4, 1) +shape = SubResource("RectangleShape2D_7hfyn") + +[node name="MeshInstance2D" type="MeshInstance2D" parent="."] +scale = Vector2(60, 20) +mesh = SubResource("QuadMesh_qcjog") diff --git a/scenes/platform_01.tscn b/scenes/platform_01.tscn index f7858f5..01bee27 100644 --- a/scenes/platform_01.tscn +++ b/scenes/platform_01.tscn @@ -5,15 +5,14 @@ [sub_resource type="QuadMesh" id="QuadMesh_qcjog"] [node name="Platform_01" type="StaticBody2D"] -position = Vector2(130, 119) -scale = Vector2(16, 1) collision_layer = 2 metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="."] +scale = Vector2(16, 1) shape = SubResource("RectangleShape2D_7hfyn") [node name="MeshInstance2D" type="MeshInstance2D" parent="."] position = Vector2(0.0224935, -0.125005) -scale = Vector2(19, 20) +scale = Vector2(300, 20) mesh = SubResource("QuadMesh_qcjog") diff --git a/scripts/End.gd b/scripts/End.gd index 6eb25d2..2cbb7d1 100644 --- a/scripts/End.gd +++ b/scripts/End.gd @@ -1,5 +1,5 @@ -extends Control - +extends CanvasLayer +var mainScene # Called when the node enters the scene tree for the first time. func _ready(): @@ -16,5 +16,13 @@ func _on_quit(): get_tree().quit() func _on_play(): - get_tree().change_scene_to_file("res://scenes/main.tscn") + $".".hide() + var w = get_node("/root/World"); + + if !w: + get_tree().change_scene_to_file( "res://scenes/main.tscn" ) + else: + w.load_level() + w.player_spawn() + w.show() diff --git a/scripts/Splash.gd b/scripts/Splash.gd index 4e1962d..9774857 100644 --- a/scripts/Splash.gd +++ b/scripts/Splash.gd @@ -1,5 +1,5 @@ -extends Control - +extends CanvasLayer +var start = preload("res://scenes/UI/Start.tscn").instantiate() # Called when the node enters the scene tree for the first time. func _ready(): @@ -16,5 +16,7 @@ func _on_quit(): get_tree().quit() func load_start_menu(): - get_tree().change_scene_to_file("res://scenes/UI/Start.tscn") + $".".hide() + get_tree().get_root().add_child( start ) + #get_tree().change_scene_to_file("res://scenes/UI/Start.tscn") diff --git a/scripts/Win.gd b/scripts/Win.gd new file mode 100644 index 0000000..b97cc7f --- /dev/null +++ b/scripts/Win.gd @@ -0,0 +1,27 @@ +extends CanvasLayer +var mainScene + +# Called when the node enters the scene tree for the first time. +func _ready(): + #$CenterContainer/VBoxContainer/Button05.button_up.connect( _on_quit ) + #$CenterContainer/VBoxContainer/Button01.button_up.connect( _on_play ) + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + +func _on_quit(): + get_tree().quit() + +func _on_play(): + $".".hide() + var w = get_node("/root/World"); + + if !w: + get_tree().change_scene_to_file( "res://scenes/main.tscn" ) + else: + w.player_spawn() + w.show() + diff --git a/scripts/World.gd b/scripts/World.gd index bffd07e..5d42b92 100644 --- a/scripts/World.gd +++ b/scripts/World.gd @@ -3,12 +3,17 @@ extends Node2D var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var gravity_vector = ProjectSettings.get_setting("physics/2d/default_gravity_vector") var player = load("res://scenes/pDasher.tscn") -var level = load("res://scenes/levels/level_1.tscn") +var level var direction: int = 1 var paused: bool = false var asp: AudioStreamPlayer var switch_gravity_sound = preload("res://audio/switch_gravity.wav") - +var win = preload("res://scenes/UI/Win.tscn").instantiate() +var end = preload("res://scenes/UI/End.tscn").instantiate() +@export var Levels: Array[Resource] = [ preload("res://scenes/levels/level_0.tscn"), preload("res://scenes/levels/level_1.tscn") ] +var level_n: int = 0 +var pDasher + ## WORLD METHODS func switch_gravity(): @@ -20,17 +25,40 @@ func switch_direction(): ## NAVIGATION func player_fail(): - get_tree().change_scene_to_file("res://scenes/UI/End.tscn") + $".".hide() + #$pDasher.queue_free() + + #ONLY IF NOT THERE ALREADY + + if !$"."/End : + get_tree().get_root().add_child( end ) + else: + $"."/End.show() + #get_tree().change_scene_to_file("res://scenes/UI/End.tscn") func player_win(): - get_tree().change_scene_to_file("res://scenes/UI/Win.tscn") + level_n += 1 + load_level() + $"." .hide() + get_tree().get_root().add_child( win ) + #get_tree().change_scene_to_file("res://scenes/UI/Win.tscn") + +func player_spawn(): + pDasher.position = Vector2(0,0 ) +func load_level(): + if level_n == null: + level_n = 0 + level = Levels[level_n] + func _ready(): + load_level() + asp = $AudioStreamPlayer #load player and level - get_node("/root/World").add_child( player.instantiate() ) #absolute way... + get_node("/root/World").add_child( player.instantiate() ) get_node("/root/World").add_child( level.instantiate() ) #relative way meaning or whatever node this script is attached to. # manage signals connections @@ -51,7 +79,9 @@ func _ready(): for checkpoint in checkpoints: #print( checkpoint ) checkpoint.body_entered.connect( _on_checkpoint_body_entered ) - + + pDasher = get_node("/root/World/pDasher") + player_spawn() ## MAIN #func _process(delta): #pass @@ -70,8 +100,8 @@ func _on_gswitch_body_entered(body): switch_gravity() func _on_dswitch_body_entered(body): - var dasher = get_node("/root/World/pDasher") - dasher.switch_direction() + pDasher + pDasher.switch_direction()