From ac86097b0745992b5a77a9a919101dcbe35283a8 Mon Sep 17 00:00:00 2001 From: godzilla5hrimp Date: Tue, 18 Aug 2026 14:27:09 +0200 Subject: [PATCH] feat: move sceneEntrance to a separate node/scene; add new dungeonScene with moving back to the previous scene; add class_name to Player; --- Scenes/DungeonScene/dungeon_scene.tscn | 15 +++++++++++ Scenes/GameScene/game_scene.tscn | 33 ++++++++++++------------ Scenes/Player/player.gd | 2 ++ Scenes/SceneEntrance/scene_entrance.gd | 5 ++-- Scenes/SceneEntrance/scene_entrance.tscn | 16 ++++++++++++ 5 files changed, 52 insertions(+), 19 deletions(-) create mode 100644 Scenes/DungeonScene/dungeon_scene.tscn create mode 100644 Scenes/SceneEntrance/scene_entrance.tscn diff --git a/Scenes/DungeonScene/dungeon_scene.tscn b/Scenes/DungeonScene/dungeon_scene.tscn new file mode 100644 index 0000000..4b2195b --- /dev/null +++ b/Scenes/DungeonScene/dungeon_scene.tscn @@ -0,0 +1,15 @@ +[gd_scene format=3 uid="uid://c36f54i2qhk56"] + +[ext_resource type="PackedScene" uid="uid://5viursrnvdyf" path="res://Scenes/Player/player.tscn" id="1_okyhq"] +[ext_resource type="PackedScene" uid="uid://dhvuy8co661xo" path="res://Scenes/SceneEntrance/scene_entrance.tscn" id="1_xuufh"] + +[node name="DungeonScene" type="Node2D" unique_id=1981353208] + +[node name="CharacterBody2D" parent="." unique_id=1991398375 instance=ExtResource("1_okyhq")] + +[node name="Camera2D" type="Camera2D" parent="CharacterBody2D" unique_id=1640962000] +zoom = Vector2(5, 5) + +[node name="SceneEntrance" parent="." unique_id=1734357035 instance=ExtResource("1_xuufh")] +position = Vector2(0, 30) +next_scene = "res://Scenes/GameScene/game_scene.tscn" diff --git a/Scenes/GameScene/game_scene.tscn b/Scenes/GameScene/game_scene.tscn index bb39356..7fe1d28 100644 --- a/Scenes/GameScene/game_scene.tscn +++ b/Scenes/GameScene/game_scene.tscn @@ -3,7 +3,8 @@ [ext_resource type="PackedScene" uid="uid://5viursrnvdyf" path="res://Scenes/Player/player.tscn" id="1_2p8i2"] [ext_resource type="Texture2D" uid="uid://jwfuu6t3ip1f" path="res://Ninja Adventure - Asset Pack/Backgrounds/Tilesets/TilesetFloor.png" id="1_l6yvh"] [ext_resource type="Texture2D" uid="uid://clv4i0q1nosad" path="res://Ninja Adventure - Asset Pack/Backgrounds/Tilesets/TilesetNature.png" id="2_04h35"] -[ext_resource type="Script" uid="uid://0a6yl260cuo3" path="res://Scenes/SceneEntrance/scene_entrance.gd" id="4_kr7le"] +[ext_resource type="Texture2D" uid="uid://c3l7w3n700qx3" path="res://Ninja Adventure - Asset Pack/Backgrounds/Tilesets/TilesetReliefDetail.png" id="3_oi8ly"] +[ext_resource type="PackedScene" uid="uid://dhvuy8co661xo" path="res://Scenes/SceneEntrance/scene_entrance.tscn" id="5_oi8ly"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_04h35"] texture = ExtResource("1_l6yvh") @@ -765,11 +766,17 @@ texture = ExtResource("2_04h35") 0:2/0 = 0 0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, 8, -32, 20, 32, 20, 32, 8, 16, 8, 16, 0, 16, -4, 12, -8, 12, -12, -12, -12, -12, -8, -16, -4, -16, 0, -16, 8) +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_12ovb"] +texture = ExtResource("3_oi8ly") +0:7/size_in_atlas = Vector2i(3, 3) +0:7/0 = 0 +0:7/0/texture_origin = Vector2i(0, 10) +0:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 16, -20, 16, -20, 12, -24, 12, -24, -4, -20, -4, -20, -8, -16, -8, -16, -12, -12, -12, 16, -12, 16, -8, 20, -8, 20, -4, 20, 0, 24, 0, 24, 12, 20, 12, 20, 16, 12, 16, 12, 12, 8, 12, 8, 0, -8, 0) + [sub_resource type="TileSet" id="TileSet_ilnae"] physics_layer_0/collision_layer = 1 sources/0 = SubResource("TileSetAtlasSource_kr7le") - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_bqpwv"] +sources/1 = SubResource("TileSetAtlasSource_12ovb") [node name="GameScene" type="Node2D" unique_id=1235113589] @@ -781,23 +788,15 @@ tile_set = SubResource("TileSet_bqpwv") tile_map_data = PackedByteArray("AAD/////AAAMAAgAAAD//wAAAAAMAAgAAAD//wEAAAAMAAgAAAD//wIAAAAMAAgAAAD//wMAAAAMAAgAAAAAAP//AAAMAAgAAAAAAAAAAAAMAAgAAAAAAAEAAAAMAAgAAAAAAAIAAAAMAAgAAAAAAAMAAAAQAAgAAAD+/wQAAAARAAkAAAD+/wUAAAAMAAgAAAD//wQAAAAMAAgAAAD//wUAAAAMAAgAAAAAAAQAAAANAAgAAAD+/wYAAAAMAAgAAAD+/wcAAAAMAAgAAAD+/wgAAAAMAAgAAAD+/wkAAAAMAAgAAAD//wYAAAAMAAgAAAD//wcAAAAMAAgAAAD//wgAAAAMAAgAAAD//wkAAAAMAAgAAAAAAP3/AAAMAAgAAAAAAP7/AAAMAAgAAAABAP3/AAAMAAgAAAABAP7/AAAMAAgAAAACAP3/AAAMAAgAAAACAP7/AAAMAAgAAAADAP3/AAAMAAgAAAADAP7/AAAMAAgAAAAEAP3/AAAMAAgAAAAEAP7/AAAMAAgAAAAFAP3/AAAMAAgAAAAFAP7/AAAMAAgAAAAFAPv/AAALAAgAAAAFAPz/AAARAAkAAAAGAPv/AAAMAAgAAAAGAPz/AAAMAAgAAAAGAP3/AAAQAAgAAAAGAPr/AAAMAAgAAAAHAPr/AAAMAAgAAAAHAPv/AAAMAAgAAAAIAPr/AAAMAAgAAAAIAPv/AAAMAAgAAAAJAPr/AAAMAAgAAAAJAPv/AAAMAAgAAAAKAPr/AAAMAAgAAAAKAPv/AAAMAAgAAAALAPr/AAAQAAsAAAALAPv/AAANAAgAAAD9//3/AAAMAAgAAAD9//7/AAARAAgAAAD+//3/AAAMAAgAAAD+//7/AAAMAAgAAAD///3/AAAMAAgAAAD///7/AAAMAAgAAAD7//v/AAAMAAgAAAD7//z/AAARAAgAAAD7//3/AAALAAgAAAD8//v/AAAMAAgAAAD8//z/AAAMAAgAAAD8//3/AAAMAAgAAAD0//r/AAALAAgAAAD0//v/AAALAAgAAAD1//r/AAAMAAgAAAD1//v/AAAMAAgAAAD2//r/AAAMAAgAAAD2//v/AAAMAAgAAAD3//r/AAAMAAgAAAD3//v/AAAMAAgAAAD4//r/AAAMAAgAAAD4//v/AAAMAAgAAAD5//r/AAAMAAgAAAD5//v/AAAMAAgAAAD6//r/AAAMAAgAAAD6//v/AAAMAAgAAAD7//r/AAAMAAgAAAD8//r/AAAMAAgAAAAGAAMAAAANAAkAAAAGAAIAAAANAAgAAAAGAAEAAAANAAgAAAAGAAAAAAANAAgAAAAGAP//AAANAAgAAAAGAP7/AAANAAgAAAAFAAMAAAAMAAkAAAAFAAIAAAAMAAgAAAAFAAEAAAAMAAgAAAAFAAAAAAAMAAgAAAAFAP//AAAMAAgAAAAEAAMAAAAMAAkAAAAEAAIAAAAMAAgAAAAEAAEAAAAMAAgAAAAEAAAAAAAMAAgAAAAEAP//AAAMAAgAAAADAAMAAAAMAAkAAAADAAIAAAAMAAgAAAADAAEAAAAMAAgAAAADAAAAAAAMAAgAAAADAP//AAAMAAgAAAACAAMAAAAMAAkAAAACAAIAAAAMAAgAAAACAAEAAAAMAAgAAAACAAAAAAAMAAgAAAACAP//AAAMAAgAAAABAAMAAAAMAAkAAAABAAIAAAAMAAgAAAABAAEAAAAMAAgAAAABAAAAAAAMAAgAAAABAP//AAAMAAgAAAALAP3/AAANAAkAAAALAPz/AAANAAgAAAAKAP3/AAAMAAkAAAAKAPz/AAAMAAgAAAAJAP3/AAAMAAkAAAAJAPz/AAAMAAgAAAAIAP3/AAAMAAkAAAAIAPz/AAAMAAgAAAAHAP3/AAAMAAkAAAAHAPz/AAAMAAgAAAALAPn/AAANAAgAAAALAPj/AAANAAgAAAALAPf/AAANAAcAAAAKAPn/AAAMAAgAAAAKAPj/AAAMAAgAAAAKAPf/AAAMAAcAAAAJAPn/AAAMAAgAAAAJAPj/AAAMAAgAAAAJAPf/AAAMAAcAAAAIAPn/AAAMAAgAAAAIAPj/AAAMAAgAAAAIAPf/AAAMAAcAAAAHAPn/AAAMAAgAAAAHAPj/AAAMAAgAAAAHAPf/AAAMAAcAAAAGAPn/AAAMAAgAAAAGAPj/AAAMAAgAAAAGAPf/AAAMAAcAAAAFAPr/AAARAAgAAAAFAPn/AAAMAAgAAAAFAPj/AAAMAAgAAAAFAPf/AAAMAAcAAAAEAPr/AAALAAkAAAAEAPn/AAALAAgAAAAEAPj/AAALAAgAAAAEAPf/AAALAAcAAAAEAPz/AAAMAAcAAAADAPz/AAAMAAcAAAACAPz/AAAMAAcAAAABAPz/AAAMAAcAAAAAAPz/AAAMAAcAAAD///z/AAAMAAcAAAD+//z/AAAMAAcAAAD9//z/AAAQAAkAAAD9//v/AAANAAgAAAD9//r/AAANAAgAAAD9//n/AAANAAcAAAD8//n/AAAMAAcAAAD7//n/AAAMAAcAAAD6//n/AAAMAAcAAAD5//n/AAAMAAcAAAD4//n/AAAMAAcAAAD3//n/AAAMAAcAAAD2//n/AAAMAAcAAAD6//z/AAAMAAkAAAD5//z/AAAMAAkAAAD4//z/AAAMAAkAAAD3//z/AAAMAAkAAAD2//z/AAAMAAkAAAD8//7/AAAMAAkAAAD7//7/AAALAAkAAAD+////AAARAAgAAAD9////AAALAAkAAAD+/wMAAAALAAgAAAD+/wIAAAALAAgAAAD+/wEAAAALAAgAAAD+/wAAAAALAAgAAAD9/wkAAAALAAkAAAD9/wgAAAALAAgAAAD9/wcAAAALAAgAAAD9/wYAAAALAAgAAAD9/wUAAAALAAgAAAD9/wQAAAALAAcAAAAAAAkAAAANAAkAAAAAAAgAAAANAAgAAAAAAAcAAAAQAAgAAAAAAAYAAAAQAAkAAAAAAAUAAAANAAgAAAD1//n/AAAMAAcAAAD0//n/AAALAAcAAAD0//z/AAAPAAgAAAD0//3/AAAOAAkAAAD1//z/AAAMAAkAAAAHAAcAAAANAAoAAAAGAAcAAAAMAAoAAAAFAAcAAAAMAAoAAAAEAAcAAAAMAAoAAAADAAcAAAAMAAoAAAACAAcAAAAMAAoAAAABAAcAAAAQAAoAAAABAAYAAAANAAcAAAA=") tile_set = SubResource("TileSet_bqpwv") -[node name="ObstabcleLayer" type="TileMapLayer" parent="." unique_id=703817951] +[node name="ObstacleLayer" type="TileMapLayer" parent="." unique_id=703817951] y_sort_enabled = true -tile_map_data = PackedByteArray("AAAIAP7/AAAAAAIAAAAKAP3/AAAAAAIAAAAMAP7/AAAAAAIAAAAIAP//AAAAAAIAAAALAAAAAAAAAAIAAAAIAAEAAAAAAAIAAAALAAIAAAAAAAIAAAACAAQAAAAAAAIAAAAFAAMAAAAAAAIAAAAFAAUAAAAAAAIAAAAHAAMAAAAAAAIAAAAIAAQAAAAAAAIAAAAJAAMAAAAAAAIAAAALAAQAAAAAAAIAAAD///f/AAAAAAIAAAD///j/AAAAAAIAAAD///n/AAAAAAIAAAACAPf/AAAAAAIAAAACAPj/AAAAAAIAAAACAPn/AAAAAAIAAAAAAPr/AAAAAAIAAAAEAPr/AAAAAAIAAAD8//f/AAAAAAIAAAD5//f/AAAAAAIAAAD2//f/AAAAAAIAAADz//f/AAAAAAIAAAD1//b/AAAAAAIAAAD3//b/AAAAAAIAAAD5//b/AAAAAAIAAAD8//b/AAAAAAIAAAABAPb/AAAAAAIAAAAEAPX/AAAAAAIAAAADAPb/AAAAAAIAAAAHAPX/AAAAAAIAAAAKAPX/AAAAAAIAAAANAPb/AAAAAAIAAAANAPf/AAAAAAIAAAANAPj/AAAAAAIAAAANAPz/AAAAAAIAAAANAPv/AAAAAAIAAAA=") +tile_map_data = PackedByteArray("AAAIAP7/AAAAAAIAAAAKAP3/AAAAAAIAAAAMAP7/AAAAAAIAAAAIAP//AAAAAAIAAAALAAAAAAAAAAIAAAAIAAEAAAAAAAIAAAALAAIAAAAAAAIAAAACAAQAAAAAAAIAAAAFAAMAAAAAAAIAAAAFAAUAAAAAAAIAAAAHAAMAAAAAAAIAAAAIAAQAAAAAAAIAAAAJAAMAAAAAAAIAAAALAAQAAAAAAAIAAAD///f/AAAAAAIAAAD///j/AAAAAAIAAAD///n/AAAAAAIAAAACAPf/AAAAAAIAAAACAPj/AAAAAAIAAAACAPn/AAAAAAIAAAAAAPr/AAAAAAIAAAAEAPr/AAAAAAIAAAD8//f/AAAAAAIAAAD5//f/AAAAAAIAAAD2//f/AAAAAAIAAADz//f/AAAAAAIAAAD1//b/AAAAAAIAAAD3//b/AAAAAAIAAAD5//b/AAAAAAIAAAD8//b/AAAAAAIAAAABAPb/AAAAAAIAAAAEAPX/AAAAAAIAAAADAPb/AAAAAAIAAAAHAPX/AAAAAAIAAAAKAPX/AAAAAAIAAAANAPb/AAAAAAIAAAANAPf/AAAAAAIAAAANAPj/AAAAAAIAAAANAPz/AAAAAAIAAAANAPv/AAAAAAIAAAAIAPn/AQAAAAcAAAA=") tile_set = SubResource("TileSet_ilnae") -[node name="Player" parent="ObstabcleLayer" unique_id=1991398375 instance=ExtResource("1_2p8i2")] +[node name="Player" parent="ObstacleLayer" unique_id=1991398375 instance=ExtResource("1_2p8i2")] -[node name="Camera2D" type="Camera2D" parent="ObstabcleLayer/Player" unique_id=1335060572] +[node name="Camera2D" type="Camera2D" parent="ObstacleLayer/Player" unique_id=1335060572] zoom = Vector2(5, 5) -[node name="SceneEntrance" type="Area2D" parent="." unique_id=1266568511] -position = Vector2(192, -87) -script = ExtResource("4_kr7le") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="SceneEntrance" unique_id=398357385] -position = Vector2(-145, 66) -shape = SubResource("RectangleShape2D_bqpwv") - -[connection signal="body_entered" from="SceneEntrance" to="SceneEntrance" method="_on_body_entered"] -[connection signal="body_exited" from="SceneEntrance" to="SceneEntrance" method="_on_body_exited"] +[node name="SceneEntrance" parent="." unique_id=1734357035 instance=ExtResource("5_oi8ly")] +position = Vector2(136, -108) diff --git a/Scenes/Player/player.gd b/Scenes/Player/player.gd index 94296ec..279f317 100644 --- a/Scenes/Player/player.gd +++ b/Scenes/Player/player.gd @@ -1,4 +1,6 @@ extends CharacterBody2D +class_name Player + @export var move_speed: float = 100 @export var hp: int = 10 diff --git a/Scenes/SceneEntrance/scene_entrance.gd b/Scenes/SceneEntrance/scene_entrance.gd index 0a0c1ac..20a21a7 100644 --- a/Scenes/SceneEntrance/scene_entrance.gd +++ b/Scenes/SceneEntrance/scene_entrance.gd @@ -1,5 +1,5 @@ extends Area2D - +@export var next_scene: String # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -11,8 +11,9 @@ func _process(delta: float) -> void: pass -func _on_body_entered(body) -> void: +func _on_body_entered(body: Player) -> void: print("body entered!") + get_tree().change_scene_to_file.call_deferred(next_scene) pass # Replace with function body. diff --git a/Scenes/SceneEntrance/scene_entrance.tscn b/Scenes/SceneEntrance/scene_entrance.tscn new file mode 100644 index 0000000..d81c8ee --- /dev/null +++ b/Scenes/SceneEntrance/scene_entrance.tscn @@ -0,0 +1,16 @@ +[gd_scene format=3 uid="uid://dhvuy8co661xo"] + +[ext_resource type="Script" uid="uid://0a6yl260cuo3" path="res://Scenes/SceneEntrance/scene_entrance.gd" id="1_6rkgu"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_bqpwv"] +size = Vector2(19, 16) + +[node name="SceneEntrance" type="Area2D" unique_id=1734357035] +script = ExtResource("1_6rkgu") +next_scene = "res://Scenes/DungeonScene/dungeon_scene.tscn" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=657294470] +shape = SubResource("RectangleShape2D_bqpwv") + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] +[connection signal="body_exited" from="." to="." method="_on_body_exited"]