From 07fb832b0af54af8a8ecc85d4b0286d94be200f1 Mon Sep 17 00:00:00 2001 From: Foohoo Date: Mon, 20 Oct 2025 14:13:36 +0100 Subject: [PATCH] add killzone and convert Tilemap to Tilelayer --- scenes/game.tscn | 19 +++++++++++++++---- scenes/killzone.tscn | 14 ++++++++++++++ scripts/coin.gd | 2 +- scripts/killzone.gd | 11 +++++++++++ scripts/killzone.gd.uid | 1 + 5 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 scenes/killzone.tscn create mode 100644 scripts/killzone.gd create mode 100644 scripts/killzone.gd.uid diff --git a/scenes/game.tscn b/scenes/game.tscn index a2c121e..85452f2 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=10 format=3 uid="uid://cy3dg66pt8abt"] +[gd_scene load_steps=12 format=4 uid="uid://cy3dg66pt8abt"] [ext_resource type="PackedScene" uid="uid://3wumh6kpw3ai" path="res://scenes/player.tscn" id="1_uwrxv"] [ext_resource type="Texture2D" uid="uid://0syymy7ijylx" path="res://assets/sprites/world_tileset.png" id="1_yqjtg"] [ext_resource type="PackedScene" uid="uid://xacwq0rohthg" path="res://scenes/platform.tscn" id="3_lnu2h"] [ext_resource type="PackedScene" uid="uid://dotk5aceo1m0k" path="res://scenes/coin.tscn" id="4_lbhrr"] +[ext_resource type="PackedScene" uid="uid://dpox5fa2pojpo" path="res://scenes/killzone.tscn" id="5_iywne"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_lnu2h"] texture = ExtResource("1_yqjtg") @@ -209,13 +210,15 @@ _data = { &"move": SubResource("Animation_lnu2h") } +[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_iywne"] + [node name="Game" type="Node2D"] -[node name="TileMap" type="TileMap" parent="."] +[node name="Layer0" type="TileMapLayer" parent="."] +use_parent_material = true position = Vector2(1, 0) +tile_map_data = PackedByteArray("AAABAAQAAAAAAAAAAAACAAQAAAAAAAAAAAABAAUAAAAAAAEAAAACAAYAAAAAAAEAAAACAAUAAAAAAAEAAAAEAAcAAAAGAAEAAAADAAcAAAAGAAEAAAAKAAcAAAAGAAEAAAAJAAcAAAAGAAEAAAANAAcAAAAGAAEAAAD//wYAAAAAAAAAAAAAAAYAAAAAAAAAAAADAAYAAAAGAAAAAAAFAAYAAAAGAAAAAAD//wcAAAAAAAEAAAAAAAcAAAAAAAEAAAABAAcAAAAAAAEAAAAAAAgAAAAAAAEAAAABAAgAAAAAAAEAAAACAAgAAAAAAAEAAAADAAgAAAAGAAEAAAAFAAgAAAAGAAEAAAAJAAgAAAAGAAEAAAAKAAgAAAAGAAEAAAANAAgAAAAGAAEAAAAOAAgAAAAGAAEAAAAKAAYAAAAGAAAAAAAJAAYAAAAGAAAAAAAOAAYAAAAGAAAAAAAEAAEAAAAAAAEAAAAGAAEAAAAAAAEAAAAHAAIAAAAAAAEAAAAIAAIAAAAAAAEAAAALAAIAAAAAAAEAAAANAAIAAAAAAAEAAAAOAAIAAAAAAAEAAAANAAEAAAAAAAEAAAAMAAEAAAAAAAEAAAAFAAAAAAAAAAEAAAAGAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAFAP//AAAAAAAAAAAGAP//AAAAAAAAAAAHAAEAAAAAAAAAAAAIAAEAAAAAAAAAAAALAAEAAAAAAAAAAAAMAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAGAAYAAAAJAAAAAAAHAAYAAAAKAAAAAAAIAAYAAAALAAAAAAAPAAIAAAAEAAAAAAAQAAIAAAAEAAAAAAARAAIAAAAEAAAAAAAPAAMAAAAEAAEAAAAQAAMAAAAEAAEAAAARAAMAAAAEAAEAAAARAAQAAAAEAAEAAAASAAUAAAAEAAEAAAATAAUAAAAEAAEAAAAUAAUAAAAEAAEAAAAUAAYAAAAEAAEAAAAUAAgAAAAEAAEAAAASAAMAAAAFAAAAAAATAAQAAAAFAAEAAAASAAQAAAAEAAEAAAAUAAQAAAAEAAAAAAAVAAQAAAAEAAAAAAAUAAcAAAAEAAEAAAAVAAUAAAAEAAEAAAAVAAgAAAAEAAEAAAAVAAYAAAAEAAEAAAAMAAIAAAABAAAAAAAFAAEAAAABAAEAAAACAAcAAAABAAEAAAD//wgAAAABAAEAAAABAAYAAAABAAAAAAAOAAcAAAAIAAAAAAAEAAgAAAAIAAAAAAAJAAEAAAAJAAAAAAAKAAEAAAALAAAAAAAEAAYAAAAHAAEAAAANAAYAAAAHAAEAAAAIAP//AAAAAAQAAAAIAAAAAAAAAAUAAAAIAP7/AAAAAAQAAAAIAP3/AAAAAAQAAAAIAPz/AAAAAAMAAAAVAAcAAAAFAAEAAAATAAMAAAAIAAUAAAASAAIAAAAIAAUAAAD//wUAAAABAAYAAAAJAAUAAAAAAAgAAAALAAAAAAAIAAYAAAAQAAAAAAAFAAQAAAAQAAEAAAAFAAUAAAAQAP//AAAFAAQAAAAQAP7/AAAFAAMAAAAFAAcAAAAGAAEAAAAfAAUAAAACAAEAAAAfAAYAAAACAAEAAAAfAAcAAAACAAEAAAAfAAgAAAADAAEAAAAfAAQAAAACAAAAAAAgAAQAAAACAAAAAAAgAAUAAAACAAEAAAAgAAYAAAADAAAAAAAgAAcAAAACAAEAAAAgAAgAAAACAAEAAAAhAAQAAAAIAAgAAAAhAAUAAAACAAAAAAAhAAYAAAACAAEAAAAhAAcAAAACAAEAAAAhAAgAAAACAAEAAAAiAAUAAAACAAAAAAAiAAYAAAACAAEAAAAiAAcAAAACAAEAAAAiAAgAAAADAAAAAAA=") tile_set = SubResource("TileSet_lbhrr") -format = 2 -layer_0/tile_data = PackedInt32Array(262145, 0, 0, 262146, 0, 0, 327681, 0, 1, 393218, 0, 1, 327682, 0, 1, 458756, 393216, 1, 458755, 393216, 1, 458762, 393216, 1, 458761, 393216, 1, 458765, 393216, 1, 458751, 0, 0, 393216, 0, 0, 393219, 393216, 0, 393221, 393216, 0, 524287, 0, 1, 458752, 0, 1, 458753, 0, 1, 524288, 0, 1, 524289, 0, 1, 524290, 0, 1, 524291, 393216, 1, 524293, 393216, 1, 524297, 393216, 1, 524298, 393216, 1, 524301, 393216, 1, 524302, 393216, 1, 393226, 393216, 0, 393225, 393216, 0, 393230, 393216, 0, 65540, 0, 1, 65542, 0, 1, 131079, 0, 1, 131080, 0, 1, 131083, 0, 1, 131085, 0, 1, 131086, 0, 1, 65549, 0, 1, 65548, 0, 1, 5, 0, 1, 6, 0, 1, 4, 0, 0, -65531, 0, 0, -65530, 0, 0, 65543, 0, 0, 65544, 0, 0, 65547, 0, 0, 12, 0, 0, 13, 0, 0, 65550, 0, 0, 393222, 589824, 0, 393223, 655360, 0, 393224, 720896, 0, 131087, 262144, 0, 131088, 262144, 0, 131089, 262144, 0, 196623, 262144, 1, 196624, 262144, 1, 196625, 262144, 1, 262161, 262144, 1, 327698, 262144, 1, 327699, 262144, 1, 327700, 262144, 1, 393236, 262144, 1, 524308, 262144, 1, 196626, 327680, 0, 262163, 327680, 1, 262162, 262144, 1, 262164, 262144, 0, 262165, 262144, 0, 458772, 262144, 1, 327701, 262144, 1, 524309, 262144, 1, 393237, 262144, 1, 131084, 65536, 0, 65541, 65536, 1, 458754, 65536, 1, 589823, 65536, 1, 393217, 65536, 0, 458766, 524288, 0, 524292, 524288, 0, 65545, 589824, 0, 65546, 720896, 0, 393220, 458752, 1, 393229, 458752, 1, -65528, 0, 4, 8, 0, 5, -131064, 0, 4, -196600, 0, 4, -262136, 0, 3, 458773, 327680, 1, 196627, 524288, 5, 131090, 524288, 5, 393215, 65536, 6, 327689, 0, 8, 11, 524288, 6, 16, 327680, 4, 65552, 327680, 5, -65520, 327680, 4, -131056, 327680, 3, 458757, 393216, 1, 327711, 131072, 1, 393247, 131072, 1, 458783, 131072, 1, 524319, 196608, 1, 262175, 131072, 0, 262176, 131072, 0, 327712, 131072, 1, 393248, 196608, 0, 458784, 131072, 1, 524320, 131072, 1, 262177, 524288, 8, 327713, 131072, 0, 393249, 131072, 1, 458785, 131072, 1, 524321, 131072, 1, 327714, 131072, 0, 393250, 131072, 1, 458786, 131072, 1, 524322, 196608, 0) [node name="Player" parent="." instance=ExtResource("1_uwrxv")] position = Vector2(33, 58) @@ -223,6 +226,8 @@ position = Vector2(33, 58) [node name="Camera2D" type="Camera2D" parent="Player"] position = Vector2(0, -7) zoom = Vector2(4, 4) +limit_bottom = 145 +limit_smoothed = true position_smoothing_enabled = true [node name="Platform" parent="." instance=ExtResource("3_lnu2h")] @@ -248,3 +253,9 @@ position = Vector2(520, 57) [node name="Coin4" parent="." instance=ExtResource("4_lbhrr")] position = Vector2(88, -23) + +[node name="Killzone" parent="." instance=ExtResource("5_iywne")] +position = Vector2(164, 165) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Killzone"] +shape = SubResource("WorldBoundaryShape2D_iywne") diff --git a/scenes/killzone.tscn b/scenes/killzone.tscn new file mode 100644 index 0000000..c40596d --- /dev/null +++ b/scenes/killzone.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=2 format=3 uid="uid://dpox5fa2pojpo"] + +[ext_resource type="Script" uid="uid://cc1vfgnshjrgf" path="res://scripts/killzone.gd" id="1_xlapc"] + +[node name="Killzone" type="Area2D"] +collision_mask = 2 +script = ExtResource("1_xlapc") + +[node name="Timer" type="Timer" parent="."] +wait_time = 0.6 +one_shot = true + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] diff --git a/scripts/coin.gd b/scripts/coin.gd index 48d2ee3..69351d3 100644 --- a/scripts/coin.gd +++ b/scripts/coin.gd @@ -1,6 +1,6 @@ extends Area2D -func _on_body_entered(body: Node2D) -> void: +func _on_body_entered(_body: Node2D) -> void: print("Plus 1 coin") queue_free() diff --git a/scripts/killzone.gd b/scripts/killzone.gd new file mode 100644 index 0000000..70b535d --- /dev/null +++ b/scripts/killzone.gd @@ -0,0 +1,11 @@ +extends Area2D + +@onready var timer: Timer = $Timer + +func _on_body_entered(_body: Node2D) -> void: + print("You died.") + timer.start() + + +func _on_timer_timeout() -> void: + get_tree().reload_current_scene() diff --git a/scripts/killzone.gd.uid b/scripts/killzone.gd.uid new file mode 100644 index 0000000..e5dd372 --- /dev/null +++ b/scripts/killzone.gd.uid @@ -0,0 +1 @@ +uid://cc1vfgnshjrgf