From 67b81ee481570cdbf305527de1d029d7fa844b04 Mon Sep 17 00:00:00 2001 From: dukantic Date: Fri, 18 Oct 2024 23:49:52 +0200 Subject: [PATCH] menu + player --- project.godot | 1 + scene/control/menu.tscn | 20 ++++++++++++++++++-- scene/player.tscn | 18 ++++++++++++++++-- script/Menu.cs | 32 ++++++++++++++++++++++++++++++++ script/Player.cs | 8 +++++++- 5 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 script/Menu.cs diff --git a/project.godot b/project.godot index b53520c..d399fb6 100644 --- a/project.godot +++ b/project.godot @@ -11,6 +11,7 @@ config_version=5 [application] config/name="Mal-Adresse" +run/main_scene="res://scene/city.tscn" config/features=PackedStringArray("4.3", "C#", "Forward Plus") config/icon="res://icon.svg" diff --git a/scene/control/menu.tscn b/scene/control/menu.tscn index 24a47e7..e6114e8 100644 --- a/scene/control/menu.tscn +++ b/scene/control/menu.tscn @@ -1,15 +1,27 @@ -[gd_scene load_steps=3 format=3 uid="uid://co0u7xd45nxv1"] +[gd_scene load_steps=4 format=3 uid="uid://co0u7xd45nxv1"] [ext_resource type="FontFile" uid="uid://c0i81edd5mitx" path="res://font/October Crow.ttf" id="1_ndt1a"] +[ext_resource type="Script" path="res://script/Menu.cs" id="1_pfhrs"] [ext_resource type="Theme" uid="uid://depo4fa5p8k8m" path="res://themes/button.tres" id="2_166c6"] [node name="menu" type="Control"] +process_mode = 3 layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +script = ExtResource("1_pfhrs") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.803922, 0, 0, 0.360784) [node name="Paused" type="Label" parent="."] layout_mode = 2 @@ -32,7 +44,7 @@ size_flags_horizontal = 4 theme_override_constants/separation = 16 alignment = 1 -[node name="Resume3" type="Button" parent="VBoxContainer"] +[node name="Resume" type="Button" parent="VBoxContainer"] layout_mode = 2 theme = ExtResource("2_166c6") text = "Resume @@ -49,3 +61,7 @@ layout_mode = 2 theme = ExtResource("2_166c6") text = "Exit " + +[connection signal="button_down" from="VBoxContainer/Resume" to="." method="ResumeDown"] +[connection signal="button_down" from="VBoxContainer/option" to="." method="OptionDown"] +[connection signal="button_down" from="VBoxContainer/exit" to="." method="ExitDown"] diff --git a/scene/player.tscn b/scene/player.tscn index e55f356..87fcb97 100644 --- a/scene/player.tscn +++ b/scene/player.tscn @@ -1,15 +1,17 @@ -[gd_scene load_steps=4 format=3 uid="uid://4ubk6w44h4s2"] +[gd_scene load_steps=5 format=3 uid="uid://4ubk6w44h4s2"] [ext_resource type="Script" path="res://script/Player.cs" id="1_gmlsd"] [ext_resource type="Texture2D" uid="uid://bo4q2rvn056p3" path="res://model/PatrickIdle1.png" id="2_w2lj6"] +[ext_resource type="PackedScene" uid="uid://co0u7xd45nxv1" path="res://scene/control/menu.tscn" id="3_6uvd0"] [sub_resource type="CircleShape2D" id="CircleShape2D_5g3cc"] -[node name="CharacterBody2D" type="CharacterBody2D"] +[node name="CharacterBody2D" type="CharacterBody2D" node_paths=PackedStringArray("menu")] position = Vector2(1, 1) motion_mode = 1 script = ExtResource("1_gmlsd") Speed = 5000.0 +menu = NodePath("Camera2D/menu") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource("CircleShape2D_5g3cc") @@ -19,3 +21,15 @@ position = Vector2(2, 1) texture = ExtResource("2_w2lj6") [node name="Camera2D" type="Camera2D" parent="."] + +[node name="menu" parent="Camera2D" instance=ExtResource("3_6uvd0")] +visible = false +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -200.0 +offset_top = -150.0 +offset_right = -200.0 +offset_bottom = -150.0 diff --git a/script/Menu.cs b/script/Menu.cs new file mode 100644 index 0000000..5f143ab --- /dev/null +++ b/script/Menu.cs @@ -0,0 +1,32 @@ +using Godot; +using System; + +public partial class Menu : Control +{ + // Called when the node enters the scene tree for the first time. + public override void _Ready() + { + } + + // Called every frame. 'delta' is the elapsed time since the previous frame. + public override void _Process(double delta) + { + } + + public void ResumeDown() + { + GetTree().Paused = false; + Input.MouseMode = Input.MouseModeEnum.Hidden; + Visible = false; + } + + public void OptionDown() + { + + } + + public void ExitDown() + { + GetTree().Quit(); + } +} diff --git a/script/Player.cs b/script/Player.cs index 78fc8c7..b37c41c 100644 --- a/script/Player.cs +++ b/script/Player.cs @@ -4,6 +4,10 @@ using System; public partial class Player : CharacterBody2D { [Export] float Speed; + + [ExportGroup("controls")] + [Export] Control menu; + public float PixelSize = 1.0f; public override void _PhysicsProcess(double delta) @@ -12,7 +16,9 @@ public partial class Player : CharacterBody2D if(Input.IsActionPressed("quit")) { - GetTree().Quit(); + Input.MouseMode = Input.MouseModeEnum.Visible; + GetTree().Paused= true; + menu.Visible = true; }