From fd8f86531ad42994e4627d6c8f14037b65faf4ad Mon Sep 17 00:00:00 2001 From: Eduardo Date: Sun, 5 May 2024 19:13:54 +0200 Subject: [PATCH] I added a constants file and replaced strings and repetitive thingys, changed some animations and added others --- CONSTANTS.gd | 14 ++ project.godot | 11 +- scenes/base_level/BaseLevel.tscn | 6 + scenes/base_level/base_level.gd | 11 ++ scenes/main_menu.gd | 13 -- scenes/{ => main_menu}/MainMenu.tscn | 175 +++++++++++++++++-- scenes/main_menu/main_menu.gd | 22 +++ scenes/{ => splash_screen}/SplashScreen.tscn | 3 +- scenes/{ => splash_screen}/splash_screen.gd | 7 +- 9 files changed, 226 insertions(+), 36 deletions(-) create mode 100644 CONSTANTS.gd create mode 100644 scenes/base_level/BaseLevel.tscn create mode 100644 scenes/base_level/base_level.gd delete mode 100644 scenes/main_menu.gd rename scenes/{ => main_menu}/MainMenu.tscn (53%) create mode 100644 scenes/main_menu/main_menu.gd rename scenes/{ => splash_screen}/SplashScreen.tscn (98%) rename scenes/{ => splash_screen}/splash_screen.gd (68%) diff --git a/CONSTANTS.gd b/CONSTANTS.gd new file mode 100644 index 0000000..94269f6 --- /dev/null +++ b/CONSTANTS.gd @@ -0,0 +1,14 @@ +extends Node + +# scenes +const SplashScreen_path = "res://scenes/splash_screen/SplashScreen.tscn" +const MainMenu_path = "res://scenes/main_menu/MainMenu.tscn" +const Settings_path = "res://scenes/settings/Settings.tscn" +const BaseLevel_path = "res://scenes/base_level/BaseLevel.tscn" + +# others +const default_changeScene_config = { + "speed": 2, + "pattern": "diagonal", + "wait_time": 0 + } diff --git a/project.godot b/project.godot index f0a85a9..3dcc7e4 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="Routes & Roots" config/version="0.1" -run/main_scene="res://scenes/SplashScreen.tscn" +run/main_scene="res://scenes/splash_screen/SplashScreen.tscn" config/features=PackedStringArray("4.3", "Mobile") boot_splash/bg_color=Color(1, 0.894118, 0.796078, 1) boot_splash/show_image=false @@ -23,12 +23,14 @@ config/icon="res://icon.svg" DebugMenu="*res://addons/debug_menu/debug_menu.tscn" SceneManager="*res://addons/scene_manager/SceneManager.tscn" Tracer="*res://addons/tracer/./tracer.gd" +GGS="*res://addons/ggs/classes/global/ggs.tscn" +Constants="*res://CONSTANTS.gd" [display] window/size/viewport_width=1920 window/size/viewport_height=1080 -window/stretch/mode="viewport" +window/stretch/mode="canvas_items" [editor] @@ -37,17 +39,18 @@ version_control/autoload_on_startup=true [editor_plugins] -enabled=PackedStringArray("res://addons/ColorPreview/plugin.cfg", "res://addons/debug_menu/plugin.cfg", "res://addons/health_bar_2d/plugin.cfg", "res://addons/label_font_auto_sizer/plugin.cfg", "res://addons/licenses/plugin.cfg", "res://addons/rich_text_label_ex/plugin.cfg", "res://addons/scene_manager/plugin.cfg", "res://addons/script-ide/plugin.cfg", "res://addons/script-tabs/plugin.cfg", "res://addons/tracer/plugin.cfg") +enabled=PackedStringArray("res://addons/ColorPreview/plugin.cfg", "res://addons/debug_menu/plugin.cfg", "res://addons/ggs/plugin.cfg", "res://addons/health_bar_2d/plugin.cfg", "res://addons/label_font_auto_sizer/plugin.cfg", "res://addons/licenses/plugin.cfg", "res://addons/rich_text_label_ex/plugin.cfg", "res://addons/scene_manager/plugin.cfg", "res://addons/script-ide/plugin.cfg", "res://addons/script-tabs/plugin.cfg", "res://addons/tracer/plugin.cfg") [file_customization] folder_colors={ "res://assets/": "red", "res://components/": "teal", +"res://examples/": "yellow", +"res://game_settings/": "gray", "res://scenes/": "blue" } [rendering] -textures/canvas_textures/default_texture_filter=0 renderer/rendering_method="mobile" diff --git a/scenes/base_level/BaseLevel.tscn b/scenes/base_level/BaseLevel.tscn new file mode 100644 index 0000000..e815bb8 --- /dev/null +++ b/scenes/base_level/BaseLevel.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bvcxabiipiqj1"] + +[ext_resource type="Script" path="res://scenes/base_level/base_level.gd" id="1_3skoo"] + +[node name="BaseLevel" type="Node2D"] +script = ExtResource("1_3skoo") diff --git a/scenes/base_level/base_level.gd b/scenes/base_level/base_level.gd new file mode 100644 index 0000000..58577cf --- /dev/null +++ b/scenes/base_level/base_level.gd @@ -0,0 +1,11 @@ +extends Node2D + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass diff --git a/scenes/main_menu.gd b/scenes/main_menu.gd deleted file mode 100644 index 6613532..0000000 --- a/scenes/main_menu.gd +++ /dev/null @@ -1,13 +0,0 @@ -extends Control - - -@onready var animation_player = $AnimationPlayer - - -func _on_animation_player_animation_finished(anim_name): - if anim_name == "entrance": - animation_player.play("logo_bounce") - - -func _on_exit_button_pressed(): - get_tree().quit() diff --git a/scenes/MainMenu.tscn b/scenes/main_menu/MainMenu.tscn similarity index 53% rename from scenes/MainMenu.tscn rename to scenes/main_menu/MainMenu.tscn index bce1597..6ef3400 100644 --- a/scenes/MainMenu.tscn +++ b/scenes/main_menu/MainMenu.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=9 format=3 uid="uid://brlsxlpsaxahp"] +[gd_scene load_steps=10 format=3 uid="uid://brlsxlpsaxahp"] [ext_resource type="Texture2D" uid="uid://b1hgu1e1abcgx" path="res://assets/title_screen_background.png" id="1_0ke3n"] -[ext_resource type="Script" path="res://scenes/main_menu.gd" id="1_n2vcw"] +[ext_resource type="Script" path="res://scenes/main_menu/main_menu.gd" id="1_n2vcw"] [ext_resource type="Texture2D" uid="uid://cm6jp47f1d4cl" path="res://assets/ui-components/logo_routes&roots.png" id="2_1eb10"] [ext_resource type="PackedScene" uid="uid://c3uole0l14mxh" path="res://components/button/MainButton.tscn" id="4_pjqd4"] @@ -17,7 +17,7 @@ tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(224, 56)] +"values": [Vector2(224, 0)] } tracks/1/type = "value" tracks/1/imported = false @@ -34,7 +34,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("../ConfigButton:position") +tracks/2/path = NodePath("../SettingsButton:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -55,6 +55,54 @@ tracks/3/keys = { "update": 0, "values": [Vector2(256, 912)] } +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath(".:rotation") +tracks/4/interp = 3 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("../Background:modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("../Label:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath(".:pivot_offset") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(710, 364)] +} [sub_resource type="Animation" id="Animation_h7sqw"] resource_name = "logo_entrance" @@ -85,7 +133,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("../ConfigButton:position") +tracks/2/path = NodePath("../SettingsButton:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -124,11 +172,99 @@ tracks/0/keys = { "values": [Vector2(248, 24), Vector2(248, 72)] } +[sub_resource type="Animation" id="Animation_5kjd6"] +resource_name = "quit_game" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../StartButton:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.1332, 0.333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(384, 640), Vector2(392, 1096)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("../SettingsButton:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.0666, 0.233), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(320, 776), Vector2(328, 1144)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("../ExitButton:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(-7.45058e-09, 0.133), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(256, 912), Vector2(240, 1200)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath(".:rotation") +tracks/3/interp = 3 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0.2998, 0.3998, 0.6993), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [0.0, -0.20944, 5.23599] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("../Background:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0.5, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("../Label:modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0.5, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(0, 0, 0, 1)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath(".:pivot_offset") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0.2, 0.3, 0.3996, 0.7), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(710, 364), Vector2(710, 280), Vector2(730, 480), Vector2(1200, 1550)] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_b7mng"] _data = { "RESET": SubResource("Animation_dyqmd"), "entrance": SubResource("Animation_h7sqw"), -"logo_bounce": SubResource("Animation_410fw") +"logo_bounce": SubResource("Animation_410fw"), +"quit_game": SubResource("Animation_5kjd6") } [node name="MainMenu" type="Control"] @@ -155,9 +291,8 @@ texture = ExtResource("1_0ke3n") [node name="Logo" type="TextureRect" parent="."] layout_mode = 0 offset_left = 224.0 -offset_top = 56.0 offset_right = 1740.0 -offset_bottom = 763.0 +offset_bottom = 707.002 scale = Vector2(0.5, 0.5) pivot_offset = Vector2(710, 364) texture = ExtResource("2_1eb10") @@ -172,13 +307,13 @@ anchor_bottom = 0.0 offset_left = 384.0 offset_top = 640.0 offset_right = 1152.0 -offset_bottom = 880.0 +offset_bottom = 880.001 grow_horizontal = 1 grow_vertical = 1 scale = Vector2(0.5, 0.5) text = "Start" -[node name="ConfigButton" parent="." instance=ExtResource("4_pjqd4")] +[node name="SettingsButton" parent="." instance=ExtResource("4_pjqd4")] layout_mode = 0 anchors_preset = 0 anchor_left = 0.0 @@ -192,7 +327,7 @@ offset_bottom = 1016.0 grow_horizontal = 1 grow_vertical = 1 scale = Vector2(0.5, 0.5) -text = "Config" +text = "Settings" [node name="ExitButton" parent="." instance=ExtResource("4_pjqd4")] layout_mode = 0 @@ -210,5 +345,23 @@ grow_vertical = 1 scale = Vector2(0.5, 0.5) text = "Exit" +[node name="Label" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -297.0 +offset_top = -44.0 +offset_right = -10.0 +offset_bottom = -10.0 +grow_horizontal = 0 +grow_vertical = 0 +theme_override_font_sizes/font_size = 24 +text = "Back Pain Games © 2024" + [connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_player_animation_finished"] +[connection signal="pressed" from="StartButton" to="." method="_on_start_button_pressed"] +[connection signal="pressed" from="SettingsButton" to="." method="_on_settings_button_pressed"] [connection signal="pressed" from="ExitButton" to="." method="_on_exit_button_pressed"] diff --git a/scenes/main_menu/main_menu.gd b/scenes/main_menu/main_menu.gd new file mode 100644 index 0000000..6943d2e --- /dev/null +++ b/scenes/main_menu/main_menu.gd @@ -0,0 +1,22 @@ +extends Control + + +@onready var animation_player = $AnimationPlayer + + +func _on_animation_player_animation_finished(anim_name): + if anim_name == "entrance": + animation_player.play("logo_bounce") + elif anim_name == "quit_game": + get_tree().quit() + +func _on_start_button_pressed(): + SceneManager.change_scene(Constants.BaseLevel_path, Constants.default_changeScene_config) + + +func _on_settings_button_pressed(): + SceneManager.change_scene(Constants.Settings_path, Constants.default_changeScene_config) + + +func _on_exit_button_pressed(): + animation_player.play("quit_game") diff --git a/scenes/SplashScreen.tscn b/scenes/splash_screen/SplashScreen.tscn similarity index 98% rename from scenes/SplashScreen.tscn rename to scenes/splash_screen/SplashScreen.tscn index d31cd45..9fd15a4 100644 --- a/scenes/SplashScreen.tscn +++ b/scenes/splash_screen/SplashScreen.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=9 format=3 uid="uid://cy24adufhvmvm"] [ext_resource type="Texture2D" uid="uid://b3u2jhhvyo8ss" path="res://assets/vertical_divisor.png" id="1_2v5nx"] -[ext_resource type="Script" path="res://scenes/splash_screen.gd" id="1_8mb83"] +[ext_resource type="Script" path="res://scenes/splash_screen/splash_screen.gd" id="1_8mb83"] [ext_resource type="Texture2D" uid="uid://c2hclus3idni7" path="res://assets/logo_made_with_godot.png" id="2_6njfd"] [ext_resource type="Texture2D" uid="uid://bwwrm5h5uvljd" path="res://assets/logo_backpain.png" id="3_w6fb6"] @@ -178,7 +178,6 @@ libraries = { autoplay = "entrance" [node name="Timer" type="Timer" parent="."] -wait_time = 2.0 one_shot = true [connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_player_animation_finished"] diff --git a/scenes/splash_screen.gd b/scenes/splash_screen/splash_screen.gd similarity index 68% rename from scenes/splash_screen.gd rename to scenes/splash_screen/splash_screen.gd index 6bb871e..29b697a 100644 --- a/scenes/splash_screen.gd +++ b/scenes/splash_screen/splash_screen.gd @@ -8,12 +8,7 @@ func _on_animation_player_animation_finished(anim_name): if anim_name == "entrance": timer.start() elif anim_name == "exit": - SceneManager.change_scene("res://scenes/MainMenu.tscn", - { - "speed": 2, - "pattern": "diagonal", - "wait_time": 0 - }) + SceneManager.change_scene(Constants.MainMenu_path, Constants.default_changeScene_config) func _on_timer_timeout(): -- 2.30.2