tp work and first steep for menu

This commit is contained in:
2025-09-07 16:05:59 +02:00
parent 6e599c8f1c
commit 2dfa874181
11 changed files with 4991 additions and 48 deletions

102
scene/load_screen.tscn Normal file
View File

@@ -0,0 +1,102 @@
[gd_scene load_steps=6 format=3 uid="uid://jx8hrj6k1ju8"]
[ext_resource type="PackedScene" uid="uid://d1ugwu6dqomtg" path="res://scene/wall.tscn" id="1_7iavl"]
[ext_resource type="Theme" uid="uid://b46gto6k33wqr" path="res://theme.tres" id="3_7iavl"]
[ext_resource type="PackedScene" uid="uid://b6hqwxrexoa2n" path="res://scene/spawner.tscn" id="3_ruca2"]
[sub_resource type="GDScript" id="GDScript_pyuau"]
script/source = "extends Button
func _ready() -> void:
grab_focus()
"
[sub_resource type="GDScript" id="GDScript_7iavl"]
script/source = "extends Button
func _on_pressed() -> void:
get_tree().quit()
"
[node name="load_screen" type="Node2D"]
[node name="wall" parent="." node_paths=PackedStringArray("spawner") instance=ExtResource("1_7iavl")]
spawner = NodePath("../spawner")
[node name="Camera2D" type="Camera2D" parent="."]
[node name="spawner" parent="." node_paths=PackedStringArray("player") instance=ExtResource("3_ruca2")]
player = NodePath("../CharacterBody2D")
delay_spawn = 1.0
load_screen = true
[node name="CharacterBody2D" type="CharacterBody2D" parent="."]
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="Control" type="Control" parent="CanvasLayer"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/Control"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -75.5
offset_top = -55.0
offset_right = 75.5
offset_bottom = 55.0
grow_horizontal = 2
grow_vertical = 2
[node name="buttons" type="VBoxContainer" parent="CanvasLayer/Control/HBoxContainer"]
layout_mode = 2
alignment = 1
[node name="1" type="Button" parent="CanvasLayer/Control/HBoxContainer/buttons"]
layout_mode = 2
focus_next = NodePath("../2")
focus_previous = NodePath("../exit")
theme = ExtResource("3_7iavl")
text = "1 Player"
script = SubResource("GDScript_pyuau")
[node name="2" type="Button" parent="CanvasLayer/Control/HBoxContainer/buttons"]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 0
focus_next = NodePath("../exit")
focus_previous = NodePath("../1")
theme = ExtResource("3_7iavl")
disabled = true
text = "2 Players"
[node name="exit" type="Button" parent="CanvasLayer/Control/HBoxContainer/buttons"]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 0
focus_next = NodePath("../1")
focus_previous = NodePath("../2")
theme = ExtResource("3_7iavl")
text = "Exit"
script = SubResource("GDScript_7iavl")
[node name="scores" type="VBoxContainer" parent="CanvasLayer/Control/HBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="CanvasLayer/Control/HBoxContainer/scores"]
layout_mode = 2
[node name="Label2" type="Label" parent="CanvasLayer/Control/HBoxContainer/scores"]
layout_mode = 2
[connection signal="pressed" from="CanvasLayer/Control/HBoxContainer/buttons/exit" to="CanvasLayer/Control/HBoxContainer/buttons/exit" method="_on_pressed"]

View File

@@ -6,14 +6,13 @@
[node name="main_game" type="Node2D"]
[node name="wall" parent="." instance=ExtResource("1_u115g")]
[node name="wall" parent="." node_paths=PackedStringArray("spawner") instance=ExtResource("1_u115g")]
spawner = NodePath("../spawner")
[node name="Camera2D" type="Camera2D" parent="."]
position = Vector2(320, 320)
zoom = Vector2(0.375, 0.375)
[node name="CharacterBody2D" parent="." instance=ExtResource("2_02eqj")]
position = Vector2(156, 206)
[node name="spawner" parent="." node_paths=PackedStringArray("player") instance=ExtResource("3_50rem")]
player = NodePath("../CharacterBody2D")
distance = 500.0

View File

@@ -5,9 +5,10 @@
[ext_resource type="PackedScene" uid="uid://b1jtii12cqye1" path="res://scene/shoot.tscn" id="2_v4325"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4cq66"]
size = Vector2(16, 28)
[node name="CharacterBody2D" type="CharacterBody2D"]
collision_layer = 3
collision_mask = 3
script = ExtResource("1_4cq66")
SHOOT_NODE = ExtResource("2_v4325")

View File

@@ -1,57 +1,80 @@
[gd_scene load_steps=4 format=3 uid="uid://d1ugwu6dqomtg"]
[gd_scene load_steps=5 format=3 uid="uid://d1ugwu6dqomtg"]
[ext_resource type="Script" uid="uid://b6422kdu30lo4" path="res://script/wall.gd" id="1_xxgf6"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_oh6kn"]
size = Vector2(20, 640)
size = Vector2(40, 680)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xxgf6"]
size = Vector2(640, 20)
size = Vector2(680, 40)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_80ewm"]
size = Vector2(630, 630)
[node name="wall" type="Node2D"]
script = ExtResource("1_xxgf6")
[node name="ColorRect" type="ColorRect" parent="."]
offset_right = 640.0
offset_bottom = 640.0
offset_left = -320.0
offset_top = -320.0
offset_right = 320.0
offset_bottom = 320.0
color = Color(0, 0, 0, 1)
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="wall" type="Area2D" parent="."]
position = Vector2(-320, -320)
collision_layer = 2
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="wall"]
position = Vector2(0, 320)
shape = SubResource("RectangleShape2D_oh6kn")
[node name="CollisionShape2D2" type="CollisionShape2D" parent="StaticBody2D"]
[node name="CollisionShape2D2" type="CollisionShape2D" parent="wall"]
position = Vector2(640, 320)
shape = SubResource("RectangleShape2D_oh6kn")
[node name="CollisionShape2D3" type="CollisionShape2D" parent="StaticBody2D"]
[node name="CollisionShape2D3" type="CollisionShape2D" parent="wall"]
position = Vector2(320, 0)
shape = SubResource("RectangleShape2D_xxgf6")
[node name="CollisionShape2D4" type="CollisionShape2D" parent="StaticBody2D"]
[node name="CollisionShape2D4" type="CollisionShape2D" parent="wall"]
position = Vector2(320, 640)
shape = SubResource("RectangleShape2D_xxgf6")
[node name="Area2D" type="Area2D" parent="."]
[node name="wall_destroy" type="Area2D" parent="."]
position = Vector2(-969, -963)
scale = Vector2(3, 3)
collision_layer = 2
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="wall_destroy"]
position = Vector2(0, 320)
shape = SubResource("RectangleShape2D_oh6kn")
[node name="CollisionShape2D2" type="CollisionShape2D" parent="wall_destroy"]
position = Vector2(640, 320)
shape = SubResource("RectangleShape2D_oh6kn")
[node name="CollisionShape2D3" type="CollisionShape2D" parent="wall_destroy"]
position = Vector2(320, 0)
shape = SubResource("RectangleShape2D_xxgf6")
[node name="CollisionShape2D4" type="CollisionShape2D" parent="wall_destroy"]
position = Vector2(320, 640)
shape = SubResource("RectangleShape2D_xxgf6")
[node name="in" type="Area2D" parent="."]
position = Vector2(-320, -320)
collision_layer = 3
collision_mask = 3
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(0, 320)
shape = SubResource("RectangleShape2D_oh6kn")
[node name="CollisionShape2D" type="CollisionShape2D" parent="in"]
position = Vector2(320, 320)
shape = SubResource("RectangleShape2D_80ewm")
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Area2D"]
position = Vector2(640, 320)
shape = SubResource("RectangleShape2D_oh6kn")
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Area2D"]
position = Vector2(320, 0)
shape = SubResource("RectangleShape2D_xxgf6")
[node name="CollisionShape2D4" type="CollisionShape2D" parent="Area2D"]
position = Vector2(320, 640)
shape = SubResource("RectangleShape2D_xxgf6")
[connection signal="body_exited" from="Area2D" to="." method="_on_area_2d_body_exited"]
[connection signal="body_entered" from="wall" to="." method="_on_area_2d_body_entered"]
[connection signal="body_exited" from="wall" to="." method="_on_area_2d_body_exited"]
[connection signal="body_entered" from="wall_destroy" to="." method="_on_wall_destroy_body_entered"]
[connection signal="body_entered" from="in" to="." method="_is_in_true"]
[connection signal="body_exited" from="in" to="." method="_is_in_false"]