From 69002575faecf2b157040fa8781e7d5693a0a974 Mon Sep 17 00:00:00 2001 From: OddlyTimbot Date: Tue, 3 Nov 2026 18:08:44 -0500 Subject: [PATCH] level updating --- project.godot | 4 + scenes/game.tscn | 2 - scenes/level2.tscn | 508 ++++++++++++++++++++++++++++++++++++++ scenes/level3.tscn | 505 +++++++++++++++++++++++++++++++++++++ scripts/gamecontroller.gd | 22 +- scripts/scene_manager.gd | 32 +-- 6 files changed, 1049 insertions(+), 24 deletions(-) create mode 100644 scenes/level2.tscn create mode 100644 scenes/level3.tscn diff --git a/project.godot b/project.godot index 157913e..d9c9b79 100644 --- a/project.godot +++ b/project.godot @@ -15,6 +15,10 @@ run/main_scene="uid://cxa67u8cwsn6x" config/features=PackedStringArray("4.7", "Forward Plus") config/icon="res://icon.svg" +[autoload] + +Gamecontroller="*uid://ct51411gsine2" + [display] window/size/viewport_width=400 diff --git a/scenes/game.tscn b/scenes/game.tscn index 6dde63b..294b207 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,6 +1,5 @@ [gd_scene format=4 uid="uid://cxa67u8cwsn6x"] -[ext_resource type="Script" uid="uid://ct51411gsine2" path="res://scripts/gamecontroller.gd" id="1_lnu2h"] [ext_resource type="Script" uid="uid://dv2q4p6jb8h4s" path="res://scripts/scene_manager.gd" id="2_lbhrr"] [ext_resource type="PackedScene" uid="uid://b22qsgmtr231s" path="res://scenes/trigger.tscn" id="2_lnu2h"] [ext_resource type="Texture2D" uid="uid://cjkp5fjucdfoi" path="res://assets/graphics/environment/sky.png" id="3_0tnpc"] @@ -405,7 +404,6 @@ size = Vector2(66, 20) [sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_mvphy"] [node name="Game" type="Node2D" unique_id=989312165] -script = ExtResource("1_lnu2h") [node name="Parallax2D" type="Parallax2D" parent="." unique_id=1222718260] repeat_size = Vector2(400, 225) diff --git a/scenes/level2.tscn b/scenes/level2.tscn new file mode 100644 index 0000000..ab02b26 --- /dev/null +++ b/scenes/level2.tscn @@ -0,0 +1,508 @@ +[gd_scene format=4 uid="uid://doiepicbi0ruw"] + +[ext_resource type="Texture2D" uid="uid://cjkp5fjucdfoi" path="res://assets/graphics/environment/sky.png" id="1_56gwk"] +[ext_resource type="Texture2D" uid="uid://2kn5xekesvey" path="res://assets/graphics/environment/farbackground.png" id="2_ve5ok"] +[ext_resource type="Texture2D" uid="uid://dd47jvi0xusna" path="res://assets/graphics/environment/midground.png" id="3_cleqw"] +[ext_resource type="PackedScene" uid="uid://dtegcgc8xcxfg" path="res://scenes/player.tscn" id="4_wvb8j"] +[ext_resource type="Texture2D" uid="uid://dsywyyr0yb4cg" path="res://assets/graphics/environment/foreground.png" id="5_g8vcy"] +[ext_resource type="Script" uid="uid://dv2q4p6jb8h4s" path="res://scripts/scene_manager.gd" id="6_cqal4"] +[ext_resource type="Texture2D" uid="uid://kyooaow1jeaa" path="res://assets/graphics/terrains/Terrain (32x32).png" id="7_o3sye"] +[ext_resource type="Texture2D" uid="uid://c8jhlduxe8p77" path="res://assets/graphics/terrains/veg_32x32.png" id="8_24ks5"] +[ext_resource type="Texture2D" uid="uid://bu8oc3yypgigw" path="res://assets/graphics/terrains/mushroom_32x64.png" id="9_s4es8"] +[ext_resource type="PackedScene" uid="uid://b22qsgmtr231s" path="res://scenes/trigger.tscn" id="10_63e4f"] +[ext_resource type="PackedScene" uid="uid://5xgx7qarkj3o" path="res://scenes/crate.tscn" id="11_y6lc1"] +[ext_resource type="PackedScene" uid="uid://b4811uinm8qcu" path="res://scenes/coin.tscn" id="12_ekhvm"] +[ext_resource type="PackedScene" uid="uid://6d5378om23b8" path="res://scenes/slime.tscn" id="13_nflru"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u5sy4"] +texture = ExtResource("7_o3sye") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:0/0/terrains_peering_bit/right_side = 0 +0:0/0/terrains_peering_bit/bottom_right_corner = 0 +0:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0 = 0 +1:0/0/terrain_set = 0 +1:0/0/terrain = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:0/0/terrains_peering_bit/right_side = 0 +1:0/0/terrains_peering_bit/bottom_right_corner = 0 +1:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0/terrains_peering_bit/bottom_left_corner = 0 +1:0/0/terrains_peering_bit/left_side = 0 +2:0/0 = 0 +2:0/0/terrain_set = 0 +2:0/0/terrain = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:0/0/terrains_peering_bit/bottom_side = 0 +2:0/0/terrains_peering_bit/bottom_left_corner = 0 +2:0/0/terrains_peering_bit/left_side = 0 +4:0/0 = 0 +4:0/0/terrain_set = 0 +4:0/0/terrain = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +4:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0 = 0 +6:0/0/terrain_set = 0 +6:0/0/terrain = 0 +6:0/0/terrains_peering_bit/right_side = 0 +6:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0/terrains_peering_bit/bottom_left_corner = 0 +6:0/0/terrains_peering_bit/left_side = 0 +6:0/0/terrains_peering_bit/top_left_corner = 0 +6:0/0/terrains_peering_bit/top_side = 0 +6:0/0/terrains_peering_bit/top_right_corner = 0 +7:0/0 = 0 +7:0/0/terrain_set = 0 +7:0/0/terrain = 0 +7:0/0/terrains_peering_bit/right_side = 0 +7:0/0/terrains_peering_bit/bottom_right_corner = 0 +7:0/0/terrains_peering_bit/bottom_side = 0 +7:0/0/terrains_peering_bit/left_side = 0 +7:0/0/terrains_peering_bit/top_left_corner = 0 +7:0/0/terrains_peering_bit/top_side = 0 +7:0/0/terrains_peering_bit/top_right_corner = 0 +9:0/0 = 0 +9:0/0/terrain_set = 0 +9:0/0/terrain = 0 +9:0/0/terrains_peering_bit/right_side = 0 +9:0/0/terrains_peering_bit/bottom_right_corner = 0 +9:0/0/terrains_peering_bit/bottom_side = 0 +9:0/0/terrains_peering_bit/bottom_left_corner = 0 +9:0/0/terrains_peering_bit/left_side = 0 +9:0/0/terrains_peering_bit/top_side = 0 +10:0/0 = 0 +10:0/0/terrain_set = 0 +10:0/0/terrain = 0 +10:0/0/terrains_peering_bit/right_side = 0 +10:0/0/terrains_peering_bit/bottom_side = 0 +10:0/0/terrains_peering_bit/bottom_left_corner = 0 +10:0/0/terrains_peering_bit/left_side = 0 +10:0/0/terrains_peering_bit/top_left_corner = 0 +10:0/0/terrains_peering_bit/top_side = 0 +12:0/0 = 0 +12:0/0/terrain_set = 0 +12:0/0/terrain = 0 +12:0/0/terrains_peering_bit/right_side = 0 +12:0/0/terrains_peering_bit/bottom_right_corner = 0 +12:0/0/terrains_peering_bit/bottom_side = 0 +12:0/0/terrains_peering_bit/left_side = 0 +12:0/0/terrains_peering_bit/top_side = 0 +13:0/0 = 0 +13:0/0/terrain_set = 0 +13:0/0/terrain = 0 +13:0/0/terrains_peering_bit/right_side = 0 +13:0/0/terrains_peering_bit/bottom_side = 0 +13:0/0/terrains_peering_bit/bottom_left_corner = 0 +13:0/0/terrains_peering_bit/left_side = 0 +13:0/0/terrains_peering_bit/top_side = 0 +15:0/0 = 0 +15:0/0/terrain_set = 0 +15:0/0/terrain = 0 +15:0/0/terrains_peering_bit/right_side = 0 +15:0/0/terrains_peering_bit/bottom_side = 0 +15:0/0/terrains_peering_bit/left_side = 0 +15:0/0/terrains_peering_bit/top_side = 0 +0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0.9330139, -16, -16, -16, -16, 16, 1.8660278, 16) +0:1/0/terrains_peering_bit/right_side = 0 +0:1/0/terrains_peering_bit/bottom_right_corner = 0 +0:1/0/terrains_peering_bit/bottom_side = 0 +0:1/0/terrains_peering_bit/top_side = 0 +0:1/0/terrains_peering_bit/top_right_corner = 0 +1:1/0 = 0 +2:1/0 = 0 +2:1/0/terrain_set = 0 +2:1/0/terrain = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -1.2440224, -16, -0.31100464, 16, 16, 16) +2:1/0/terrains_peering_bit/bottom_side = 0 +2:1/0/terrains_peering_bit/bottom_left_corner = 0 +2:1/0/terrains_peering_bit/left_side = 0 +2:1/0/terrains_peering_bit/top_left_corner = 0 +2:1/0/terrains_peering_bit/top_side = 0 +4:1/0 = 0 +4:1/0/terrain_set = 0 +4:1/0/terrain = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +4:1/0/terrains_peering_bit/bottom_side = 0 +4:1/0/terrains_peering_bit/top_side = 0 +6:1/0 = 0 +6:1/0/terrain_set = 0 +6:1/0/terrain = 0 +6:1/0/terrains_peering_bit/right_side = 0 +6:1/0/terrains_peering_bit/bottom_right_corner = 0 +6:1/0/terrains_peering_bit/bottom_side = 0 +6:1/0/terrains_peering_bit/bottom_left_corner = 0 +6:1/0/terrains_peering_bit/left_side = 0 +6:1/0/terrains_peering_bit/top_left_corner = 0 +6:1/0/terrains_peering_bit/top_side = 0 +7:1/0 = 0 +7:1/0/terrain_set = 0 +7:1/0/terrain = 0 +7:1/0/terrains_peering_bit/right_side = 0 +7:1/0/terrains_peering_bit/bottom_right_corner = 0 +7:1/0/terrains_peering_bit/bottom_side = 0 +7:1/0/terrains_peering_bit/bottom_left_corner = 0 +7:1/0/terrains_peering_bit/left_side = 0 +7:1/0/terrains_peering_bit/top_side = 0 +7:1/0/terrains_peering_bit/top_right_corner = 0 +9:1/0 = 0 +9:1/0/terrain_set = 0 +9:1/0/terrain = 0 +9:1/0/terrains_peering_bit/right_side = 0 +9:1/0/terrains_peering_bit/bottom_right_corner = 0 +9:1/0/terrains_peering_bit/bottom_side = 0 +9:1/0/terrains_peering_bit/left_side = 0 +9:1/0/terrains_peering_bit/top_side = 0 +9:1/0/terrains_peering_bit/top_right_corner = 0 +10:1/0 = 0 +10:1/0/terrain_set = 0 +10:1/0/terrain = 0 +10:1/0/terrains_peering_bit/right_side = 0 +10:1/0/terrains_peering_bit/bottom_side = 0 +10:1/0/terrains_peering_bit/left_side = 0 +10:1/0/terrains_peering_bit/top_left_corner = 0 +10:1/0/terrains_peering_bit/top_side = 0 +10:1/0/terrains_peering_bit/top_right_corner = 0 +12:1/0 = 0 +12:1/0/terrain_set = 0 +12:1/0/terrain = 0 +12:1/0/terrains_peering_bit/right_side = 0 +12:1/0/terrains_peering_bit/bottom_side = 0 +12:1/0/terrains_peering_bit/left_side = 0 +12:1/0/terrains_peering_bit/top_side = 0 +12:1/0/terrains_peering_bit/top_right_corner = 0 +13:1/0 = 0 +13:1/0/terrain_set = 0 +13:1/0/terrain = 0 +13:1/0/terrains_peering_bit/right_side = 0 +13:1/0/terrains_peering_bit/bottom_side = 0 +13:1/0/terrains_peering_bit/left_side = 0 +13:1/0/terrains_peering_bit/top_left_corner = 0 +13:1/0/terrains_peering_bit/top_side = 0 +15:1/0 = 0 +15:1/0/terrain_set = 0 +15:1/0/terrain = 0 +15:1/0/terrains_peering_bit/right_side = 0 +15:1/0/terrains_peering_bit/bottom_side = 0 +15:1/0/terrains_peering_bit/bottom_left_corner = 0 +15:1/0/terrains_peering_bit/left_side = 0 +15:1/0/terrains_peering_bit/top_side = 0 +15:1/0/terrains_peering_bit/top_right_corner = 0 +16:1/0 = 0 +16:1/0/terrain_set = 0 +16:1/0/terrain = 0 +16:1/0/terrains_peering_bit/right_side = 0 +16:1/0/terrains_peering_bit/bottom_right_corner = 0 +16:1/0/terrains_peering_bit/bottom_side = 0 +16:1/0/terrains_peering_bit/left_side = 0 +16:1/0/terrains_peering_bit/top_left_corner = 0 +16:1/0/terrains_peering_bit/top_side = 0 +0:2/0 = 0 +0:2/0/terrain_set = 0 +0:2/0/terrain = 0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -8.086128, 16, -16, 6.842106) +0:2/0/terrains_peering_bit/right_side = 0 +0:2/0/terrains_peering_bit/top_side = 0 +0:2/0/terrains_peering_bit/top_right_corner = 0 +1:2/0 = 0 +1:2/0/terrain_set = 0 +1:2/0/terrain = 0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -0.31100464, -16, -0.9330139, -16, 16, 16, 16) +1:2/0/terrains_peering_bit/right_side = 0 +1:2/0/terrains_peering_bit/left_side = 0 +1:2/0/terrains_peering_bit/top_left_corner = 0 +1:2/0/terrains_peering_bit/top_side = 0 +1:2/0/terrains_peering_bit/top_right_corner = 0 +2:2/0 = 0 +2:2/0/terrain_set = 0 +2:2/0/terrain = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +2:2/0/terrains_peering_bit/left_side = 0 +2:2/0/terrains_peering_bit/top_left_corner = 0 +2:2/0/terrains_peering_bit/top_side = 0 +4:2/0 = 0 +4:2/0/terrain_set = 0 +4:2/0/terrain = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +4:2/0/terrains_peering_bit/top_side = 0 +6:3/0 = 0 +6:3/0/terrain_set = 0 +6:3/0/terrain = 0 +6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.488037, -16, 2.1770325, 16, -16, 16) +6:3/0/terrains_peering_bit/right_side = 0 +6:3/0/terrains_peering_bit/bottom_side = 0 +6:3/0/terrains_peering_bit/top_side = 0 +6:3/0/terrains_peering_bit/top_right_corner = 0 +7:3/0 = 0 +7:3/0/terrain_set = 0 +7:3/0/terrain = 0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 2.488037, -16, 2.1770325, 16, 16, 16) +7:3/0/terrains_peering_bit/bottom_side = 0 +7:3/0/terrains_peering_bit/left_side = 0 +7:3/0/terrains_peering_bit/top_left_corner = 0 +7:3/0/terrains_peering_bit/top_side = 0 +9:3/0 = 0 +9:3/0/terrain_set = 0 +9:3/0/terrain = 0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 0, 16, -0.6220093) +9:3/0/terrains_peering_bit/right_side = 0 +9:3/0/terrains_peering_bit/bottom_side = 0 +9:3/0/terrains_peering_bit/bottom_left_corner = 0 +9:3/0/terrains_peering_bit/left_side = 0 +10:3/0 = 0 +10:3/0/terrain_set = 0 +10:3/0/terrain = 0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 0, 16, -0.6220093) +10:3/0/terrains_peering_bit/right_side = 0 +10:3/0/terrains_peering_bit/bottom_right_corner = 0 +10:3/0/terrains_peering_bit/bottom_side = 0 +10:3/0/terrains_peering_bit/left_side = 0 +12:3/0 = 0 +12:3/0/terrain_set = 0 +12:3/0/terrain = 0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +12:3/0/terrains_peering_bit/right_side = 0 +12:3/0/terrains_peering_bit/bottom_side = 0 +12:3/0/terrains_peering_bit/top_side = 0 +13:3/0 = 0 +13:3/0/terrain_set = 0 +13:3/0/terrain = 0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +13:3/0/terrains_peering_bit/right_side = 0 +13:3/0/terrains_peering_bit/bottom_side = 0 +13:3/0/terrains_peering_bit/left_side = 0 +15:3/0 = 0 +15:3/0/terrain_set = 0 +15:3/0/terrain = 0 +15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +15:3/0/terrains_peering_bit/right_side = 0 +15:3/0/terrains_peering_bit/bottom_side = 0 +16:3/0 = 0 +16:3/0/terrain_set = 0 +16:3/0/terrain = 0 +16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +16:3/0/terrains_peering_bit/bottom_side = 0 +16:3/0/terrains_peering_bit/left_side = 0 +0:4/0 = 0 +0:4/0/terrain_set = 0 +0:4/0/terrain = 0 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:4/0/terrains_peering_bit/right_side = 0 +1:4/0 = 0 +1:4/0/terrain_set = 0 +1:4/0/terrain = 0 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:4/0/terrains_peering_bit/right_side = 0 +1:4/0/terrains_peering_bit/left_side = 0 +2:4/0 = 0 +2:4/0/terrain_set = 0 +2:4/0/terrain = 0 +2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:4/0/terrains_peering_bit/left_side = 0 +4:4/0 = 0 +4:4/0/terrain_set = 0 +4:4/0/terrain = 0 +4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +6:4/0 = 0 +6:4/0/terrain_set = 0 +6:4/0/terrain = 0 +6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.488037, -16, 2.1770325, 16, -16, 16) +6:4/0/terrains_peering_bit/right_side = 0 +6:4/0/terrains_peering_bit/bottom_right_corner = 0 +6:4/0/terrains_peering_bit/bottom_side = 0 +6:4/0/terrains_peering_bit/top_side = 0 +7:4/0 = 0 +7:4/0/terrain_set = 0 +7:4/0/terrain = 0 +7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 2.488037, -16, 2.1770325, 16, 16, 16) +7:4/0/terrains_peering_bit/bottom_side = 0 +7:4/0/terrains_peering_bit/bottom_left_corner = 0 +7:4/0/terrains_peering_bit/left_side = 0 +7:4/0/terrains_peering_bit/top_side = 0 +9:4/0 = 0 +9:4/0/terrain_set = 0 +9:4/0/terrain = 0 +9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, 0.9330139, -16, 0.9330139, -16, 16, 16, 16) +9:4/0/terrains_peering_bit/right_side = 0 +9:4/0/terrains_peering_bit/left_side = 0 +9:4/0/terrains_peering_bit/top_left_corner = 0 +9:4/0/terrains_peering_bit/top_side = 0 +10:4/0 = 0 +10:4/0/terrain_set = 0 +10:4/0/terrain = 0 +10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, 0.9330139, -16, 0.9330139, -16, 16, 16, 16) +10:4/0/terrains_peering_bit/right_side = 0 +10:4/0/terrains_peering_bit/left_side = 0 +10:4/0/terrains_peering_bit/top_side = 0 +10:4/0/terrains_peering_bit/top_right_corner = 0 +12:4/0 = 0 +12:4/0/terrain_set = 0 +12:4/0/terrain = 0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +12:4/0/terrains_peering_bit/right_side = 0 +12:4/0/terrains_peering_bit/left_side = 0 +12:4/0/terrains_peering_bit/top_side = 0 +13:4/0 = 0 +13:4/0/terrain_set = 0 +13:4/0/terrain = 0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +13:4/0/terrains_peering_bit/bottom_side = 0 +13:4/0/terrains_peering_bit/left_side = 0 +13:4/0/terrains_peering_bit/top_side = 0 +15:4/0 = 0 +15:4/0/terrain_set = 0 +15:4/0/terrain = 0 +15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +15:4/0/terrains_peering_bit/right_side = 0 +15:4/0/terrains_peering_bit/top_side = 0 +16:4/0 = 0 +16:4/0/terrain_set = 0 +16:4/0/terrain = 0 +16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +16:4/0/terrains_peering_bit/left_side = 0 +16:4/0/terrains_peering_bit/top_side = 0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_vtaks"] +texture = ExtResource("8_24ks5") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 1 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kvpfn"] +texture = ExtResource("9_s4es8") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrains_peering_bit/bottom_side = 1 +0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 1 +0:1/0/terrains_peering_bit/top_side = 1 + +[sub_resource type="TileSet" id="TileSet_mvphy"] +tile_size = Vector2i(32, 32) +physics_layer_0/collision_layer = 1 +terrain_set_0/mode = 0 +terrain_set_0/terrain_0/name = "LeafyDirt" +terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) +terrain_set_0/terrain_1/name = "Veg" +terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1) +sources/0 = SubResource("TileSetAtlasSource_u5sy4") +sources/1 = SubResource("TileSetAtlasSource_vtaks") +sources/2 = SubResource("TileSetAtlasSource_kvpfn") + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_mvphy"] +size = Vector2(66, 20) + +[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_mvphy"] + +[node name="Game" type="Node2D" unique_id=989312165] + +[node name="Parallax2D" type="Parallax2D" parent="." unique_id=1222718260] +repeat_size = Vector2(400, 225) + +[node name="Sprite2D" type="Sprite2D" parent="Parallax2D" unique_id=136019890] +texture = ExtResource("1_56gwk") +offset = Vector2(200, 112) + +[node name="farbg" type="Parallax2D" parent="." unique_id=415159613] +repeat_size = Vector2(400, 0) + +[node name="Sprite2D" type="Sprite2D" parent="farbg" unique_id=2117193867] +texture_filter = 1 +texture = ExtResource("2_ve5ok") +offset = Vector2(200, 350) + +[node name="midground" type="Parallax2D" parent="." unique_id=2019512975] +scroll_scale = Vector2(1.2, 1) +repeat_size = Vector2(400, 0) + +[node name="Sprite2D" type="Sprite2D" parent="midground" unique_id=2080878610] +texture_filter = 1 +texture = ExtResource("3_cleqw") +offset = Vector2(200, 350) + +[node name="Player" parent="." unique_id=735255374 instance=ExtResource("4_wvb8j")] +position = Vector2(800, 311) + +[node name="foreground" type="Parallax2D" parent="." unique_id=246559660] +scroll_scale = Vector2(1.3, 1) +repeat_size = Vector2(400, 0) + +[node name="Sprite2D" type="Sprite2D" parent="foreground" unique_id=1690720392] +texture = ExtResource("5_g8vcy") +offset = Vector2(200, 340) + +[node name="SceneManager" type="Node2D" parent="." unique_id=1778809182] +script = ExtResource("6_cqal4") + +[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=374407051] +texture_filter = 1 +tile_map_data = PackedByteArray("AAASAA0AAAAEAAAAAAAVAA0AAAAAAAAAAAAWAA0AAAABAAAAAAAXAA0AAAABAAAAAAAYAA0AAAAHAAQAAAAYAAwAAAAGAAMAAAAYAAsAAAAAAAAAAAAZAAsAAAABAAAAAAAZAAwAAAABAAIAAAAaAAwAAAACAAIAAAAaAAsAAAACAAAAAAAWAAkAAAACAAQAAAAVAAkAAAAAAAQAAAAIAA8AAAABAAIAAAAJAA8AAAACAAIAAAAIAA4AAAAGAAAAAAAHAA8AAAAAAAIAAAAHAA4AAAAHAAAAAAAHAA0AAAABAAAAAAAGAA0AAAAGAAQAAAAGAAwAAAAEAAEAAAAGAAsAAAAPAAMAAAAHAAsAAAABAAQAAAAIAAsAAAAKAAMAAAAJAAsAAAAHAAEAAAAKAAsAAAAGAAEAAAAKAAoAAAACAAAAAAAJAAoAAAAAAAAAAAAVAAwAAQAAAAAAAAAYAAoAAQAAAAAAAAAZAAoAAQAAAAAAAAAIAA0AAAAHAAEAAAAJAAkAAQAAAAAAAAAWAAwAAgAAAAEAAAAWAAsAAgAAAAAAAAAYAA4AAAAJAAQAAAAXAA4AAAABAAIAAAAWAA4AAAABAAIAAAAVAA4AAAAKAAQAAAAUAA4AAAABAAQAAAATAA4AAAABAAQAAAASAA4AAAAMAAQAAAARAA4AAAABAAQAAAAQAA4AAAABAAQAAAAPAA4AAAABAAQAAAAOAA4AAAAJAAQAAAANAA4AAAAKAAQAAAAMAA4AAAAJAAQAAAALAA4AAAABAAIAAAAKAA4AAAAKAAQAAAAJAA4AAAAKAAAAAAAZAA4AAAABAAQAAAAaAA4AAAABAAQAAAAbAA4AAAABAAQAAAAcAA4AAAABAAQAAAAdAA4AAAAKAAQAAAAdAA0AAAAAAAAAAAAeAA0AAAAPAAEAAAAeAAwAAAAAAAEAAAAeAAsAAAAAAAAAAAAfAAwAAAACAAEAAAAeAA4AAAACAAIAAAAfAA0AAAACAAIAAAAfAAsAAAAHAAQAAAAfAAoAAAAEAAEAAAAfAAkAAAAEAAAAAAAGAA4AAAAKAAQAAAAFAA4AAAABAAQAAAAEAA4AAAABAAQAAAADAA4AAAAJAAQAAAACAA4AAAABAAIAAAABAA4AAAAKAAQAAAAAAA4AAAAAAAQAAAADAA0AAAACAAEAAAACAA0AAAAGAAAAAAABAA0AAAAAAAEAAAABAAwAAAAAAAAAAAACAAwAAAAHAAEAAAACAAsAAAAAAAAAAAADAAsAAAACAAAAAAADAAwAAAACAAEAAAAOAA0AAAACAAEAAAAOAAwAAAACAAAAAAANAAwAAAABAAAAAAAMAAwAAAAGAAEAAAAMAAsAAAACAAAAAAALAAsAAAABAAAAAAALAAwAAAAHAAAAAAAKAAwAAAAHAAAAAAAJAAwAAAAGAAAAAAAIAAwAAAAAAAEAAAAJAA0AAAAGAAAAAAAKAA0AAAAHAAAAAAALAA0AAAAHAAEAAAAMAA0AAAAGAAAAAAANAA0AAAAHAAAAAAASAAwAAQAAAAAAAAAVAAgAAQAAAAAAAAAWAAgAAgAAAAEAAAAWAAcAAgAAAAAAAAANAAsAAgAAAAEAAAANAAoAAgAAAAAAAAA=") +tile_set = SubResource("TileSet_mvphy") + +[node name="StaticBody2D" type="StaticBody2D" parent="." unique_id=1148293182] +position = Vector2(713, 631) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D" unique_id=1634682333] +shape = SubResource("RectangleShape2D_mvphy") + +[node name="StaticBody2D2" type="StaticBody2D" parent="." unique_id=958110307] +position = Vector2(538, 582) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2" unique_id=1123970436] +shape = SubResource("WorldBoundaryShape2D_mvphy") + +[node name="Triggers" type="Node2D" parent="." unique_id=1308561168] + +[node name="Trigger" parent="Triggers" unique_id=1346685745 instance=ExtResource("10_63e4f")] +position = Vector2(390, 541) + +[node name="Trigger2" parent="Triggers" unique_id=110247025 instance=ExtResource("10_63e4f")] +position = Vector2(514, 502) +effect = "teleport" + +[node name="Crates" type="Node2D" parent="." unique_id=104104750] + +[node name="Crate" parent="Crates" unique_id=1367266345 instance=ExtResource("11_y6lc1")] +position = Vector2(719, 260) + +[node name="Crate2" parent="Crates" unique_id=1110392418 instance=ExtResource("11_y6lc1")] +position = Vector2(505, 422) + +[node name="RigidBody2D" parent="Crates" unique_id=721458511 instance=ExtResource("11_y6lc1")] +position = Vector2(377, 337) + +[node name="Crate3" parent="Crates" unique_id=201497032 instance=ExtResource("11_y6lc1")] +position = Vector2(403.00003, 334.00003) +rotation = 0.79584646 + +[node name="Coins" type="Node2D" parent="." unique_id=1387422217] + +[node name="Coin" parent="Coins" unique_id=613946937 instance=ExtResource("12_ekhvm")] +position = Vector2(623, 436) + +[node name="Coin2" parent="Coins" unique_id=1750219177 instance=ExtResource("12_ekhvm")] +position = Vector2(738, 404) + +[node name="Coin3" parent="Coins" unique_id=2129884856 instance=ExtResource("12_ekhvm")] +position = Vector2(335, 310) + +[node name="Enemies" type="Node2D" parent="." unique_id=81054696] + +[node name="Slime" parent="Enemies" unique_id=1316034960 instance=ExtResource("13_nflru")] +position = Vector2(719, 409) + +[node name="Slime2" parent="Enemies" unique_id=1781169651 instance=ExtResource("13_nflru")] +position = Vector2(464, 376) + +[connection signal="areaTriggered" from="Triggers/Trigger" to="." method="_on_trigger"] diff --git a/scenes/level3.tscn b/scenes/level3.tscn new file mode 100644 index 0000000..bf28f08 --- /dev/null +++ b/scenes/level3.tscn @@ -0,0 +1,505 @@ +[gd_scene format=4 uid="uid://qy6oju7r4gjk"] + +[ext_resource type="Texture2D" uid="uid://cjkp5fjucdfoi" path="res://assets/graphics/environment/sky.png" id="1_bradm"] +[ext_resource type="Texture2D" uid="uid://2kn5xekesvey" path="res://assets/graphics/environment/farbackground.png" id="2_got4s"] +[ext_resource type="Texture2D" uid="uid://dd47jvi0xusna" path="res://assets/graphics/environment/midground.png" id="3_e40mx"] +[ext_resource type="PackedScene" uid="uid://dtegcgc8xcxfg" path="res://scenes/player.tscn" id="4_a114e"] +[ext_resource type="Texture2D" uid="uid://dsywyyr0yb4cg" path="res://assets/graphics/environment/foreground.png" id="5_y1e0c"] +[ext_resource type="Script" uid="uid://dv2q4p6jb8h4s" path="res://scripts/scene_manager.gd" id="6_s4dsi"] +[ext_resource type="Texture2D" uid="uid://kyooaow1jeaa" path="res://assets/graphics/terrains/Terrain (32x32).png" id="7_07lh1"] +[ext_resource type="Texture2D" uid="uid://c8jhlduxe8p77" path="res://assets/graphics/terrains/veg_32x32.png" id="8_6uuvf"] +[ext_resource type="Texture2D" uid="uid://bu8oc3yypgigw" path="res://assets/graphics/terrains/mushroom_32x64.png" id="9_x008a"] +[ext_resource type="PackedScene" uid="uid://b22qsgmtr231s" path="res://scenes/trigger.tscn" id="10_atr84"] +[ext_resource type="PackedScene" uid="uid://5xgx7qarkj3o" path="res://scenes/crate.tscn" id="11_qyu38"] +[ext_resource type="PackedScene" uid="uid://b4811uinm8qcu" path="res://scenes/coin.tscn" id="12_8vbrh"] +[ext_resource type="PackedScene" uid="uid://6d5378om23b8" path="res://scenes/slime.tscn" id="13_d5gix"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u5sy4"] +texture = ExtResource("7_07lh1") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:0/0/terrains_peering_bit/right_side = 0 +0:0/0/terrains_peering_bit/bottom_right_corner = 0 +0:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0 = 0 +1:0/0/terrain_set = 0 +1:0/0/terrain = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:0/0/terrains_peering_bit/right_side = 0 +1:0/0/terrains_peering_bit/bottom_right_corner = 0 +1:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0/terrains_peering_bit/bottom_left_corner = 0 +1:0/0/terrains_peering_bit/left_side = 0 +2:0/0 = 0 +2:0/0/terrain_set = 0 +2:0/0/terrain = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:0/0/terrains_peering_bit/bottom_side = 0 +2:0/0/terrains_peering_bit/bottom_left_corner = 0 +2:0/0/terrains_peering_bit/left_side = 0 +4:0/0 = 0 +4:0/0/terrain_set = 0 +4:0/0/terrain = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +4:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0 = 0 +6:0/0/terrain_set = 0 +6:0/0/terrain = 0 +6:0/0/terrains_peering_bit/right_side = 0 +6:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0/terrains_peering_bit/bottom_left_corner = 0 +6:0/0/terrains_peering_bit/left_side = 0 +6:0/0/terrains_peering_bit/top_left_corner = 0 +6:0/0/terrains_peering_bit/top_side = 0 +6:0/0/terrains_peering_bit/top_right_corner = 0 +7:0/0 = 0 +7:0/0/terrain_set = 0 +7:0/0/terrain = 0 +7:0/0/terrains_peering_bit/right_side = 0 +7:0/0/terrains_peering_bit/bottom_right_corner = 0 +7:0/0/terrains_peering_bit/bottom_side = 0 +7:0/0/terrains_peering_bit/left_side = 0 +7:0/0/terrains_peering_bit/top_left_corner = 0 +7:0/0/terrains_peering_bit/top_side = 0 +7:0/0/terrains_peering_bit/top_right_corner = 0 +9:0/0 = 0 +9:0/0/terrain_set = 0 +9:0/0/terrain = 0 +9:0/0/terrains_peering_bit/right_side = 0 +9:0/0/terrains_peering_bit/bottom_right_corner = 0 +9:0/0/terrains_peering_bit/bottom_side = 0 +9:0/0/terrains_peering_bit/bottom_left_corner = 0 +9:0/0/terrains_peering_bit/left_side = 0 +9:0/0/terrains_peering_bit/top_side = 0 +10:0/0 = 0 +10:0/0/terrain_set = 0 +10:0/0/terrain = 0 +10:0/0/terrains_peering_bit/right_side = 0 +10:0/0/terrains_peering_bit/bottom_side = 0 +10:0/0/terrains_peering_bit/bottom_left_corner = 0 +10:0/0/terrains_peering_bit/left_side = 0 +10:0/0/terrains_peering_bit/top_left_corner = 0 +10:0/0/terrains_peering_bit/top_side = 0 +12:0/0 = 0 +12:0/0/terrain_set = 0 +12:0/0/terrain = 0 +12:0/0/terrains_peering_bit/right_side = 0 +12:0/0/terrains_peering_bit/bottom_right_corner = 0 +12:0/0/terrains_peering_bit/bottom_side = 0 +12:0/0/terrains_peering_bit/left_side = 0 +12:0/0/terrains_peering_bit/top_side = 0 +13:0/0 = 0 +13:0/0/terrain_set = 0 +13:0/0/terrain = 0 +13:0/0/terrains_peering_bit/right_side = 0 +13:0/0/terrains_peering_bit/bottom_side = 0 +13:0/0/terrains_peering_bit/bottom_left_corner = 0 +13:0/0/terrains_peering_bit/left_side = 0 +13:0/0/terrains_peering_bit/top_side = 0 +15:0/0 = 0 +15:0/0/terrain_set = 0 +15:0/0/terrain = 0 +15:0/0/terrains_peering_bit/right_side = 0 +15:0/0/terrains_peering_bit/bottom_side = 0 +15:0/0/terrains_peering_bit/left_side = 0 +15:0/0/terrains_peering_bit/top_side = 0 +0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0.9330139, -16, -16, -16, -16, 16, 1.8660278, 16) +0:1/0/terrains_peering_bit/right_side = 0 +0:1/0/terrains_peering_bit/bottom_right_corner = 0 +0:1/0/terrains_peering_bit/bottom_side = 0 +0:1/0/terrains_peering_bit/top_side = 0 +0:1/0/terrains_peering_bit/top_right_corner = 0 +1:1/0 = 0 +2:1/0 = 0 +2:1/0/terrain_set = 0 +2:1/0/terrain = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -1.2440224, -16, -0.31100464, 16, 16, 16) +2:1/0/terrains_peering_bit/bottom_side = 0 +2:1/0/terrains_peering_bit/bottom_left_corner = 0 +2:1/0/terrains_peering_bit/left_side = 0 +2:1/0/terrains_peering_bit/top_left_corner = 0 +2:1/0/terrains_peering_bit/top_side = 0 +4:1/0 = 0 +4:1/0/terrain_set = 0 +4:1/0/terrain = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +4:1/0/terrains_peering_bit/bottom_side = 0 +4:1/0/terrains_peering_bit/top_side = 0 +6:1/0 = 0 +6:1/0/terrain_set = 0 +6:1/0/terrain = 0 +6:1/0/terrains_peering_bit/right_side = 0 +6:1/0/terrains_peering_bit/bottom_right_corner = 0 +6:1/0/terrains_peering_bit/bottom_side = 0 +6:1/0/terrains_peering_bit/bottom_left_corner = 0 +6:1/0/terrains_peering_bit/left_side = 0 +6:1/0/terrains_peering_bit/top_left_corner = 0 +6:1/0/terrains_peering_bit/top_side = 0 +7:1/0 = 0 +7:1/0/terrain_set = 0 +7:1/0/terrain = 0 +7:1/0/terrains_peering_bit/right_side = 0 +7:1/0/terrains_peering_bit/bottom_right_corner = 0 +7:1/0/terrains_peering_bit/bottom_side = 0 +7:1/0/terrains_peering_bit/bottom_left_corner = 0 +7:1/0/terrains_peering_bit/left_side = 0 +7:1/0/terrains_peering_bit/top_side = 0 +7:1/0/terrains_peering_bit/top_right_corner = 0 +9:1/0 = 0 +9:1/0/terrain_set = 0 +9:1/0/terrain = 0 +9:1/0/terrains_peering_bit/right_side = 0 +9:1/0/terrains_peering_bit/bottom_right_corner = 0 +9:1/0/terrains_peering_bit/bottom_side = 0 +9:1/0/terrains_peering_bit/left_side = 0 +9:1/0/terrains_peering_bit/top_side = 0 +9:1/0/terrains_peering_bit/top_right_corner = 0 +10:1/0 = 0 +10:1/0/terrain_set = 0 +10:1/0/terrain = 0 +10:1/0/terrains_peering_bit/right_side = 0 +10:1/0/terrains_peering_bit/bottom_side = 0 +10:1/0/terrains_peering_bit/left_side = 0 +10:1/0/terrains_peering_bit/top_left_corner = 0 +10:1/0/terrains_peering_bit/top_side = 0 +10:1/0/terrains_peering_bit/top_right_corner = 0 +12:1/0 = 0 +12:1/0/terrain_set = 0 +12:1/0/terrain = 0 +12:1/0/terrains_peering_bit/right_side = 0 +12:1/0/terrains_peering_bit/bottom_side = 0 +12:1/0/terrains_peering_bit/left_side = 0 +12:1/0/terrains_peering_bit/top_side = 0 +12:1/0/terrains_peering_bit/top_right_corner = 0 +13:1/0 = 0 +13:1/0/terrain_set = 0 +13:1/0/terrain = 0 +13:1/0/terrains_peering_bit/right_side = 0 +13:1/0/terrains_peering_bit/bottom_side = 0 +13:1/0/terrains_peering_bit/left_side = 0 +13:1/0/terrains_peering_bit/top_left_corner = 0 +13:1/0/terrains_peering_bit/top_side = 0 +15:1/0 = 0 +15:1/0/terrain_set = 0 +15:1/0/terrain = 0 +15:1/0/terrains_peering_bit/right_side = 0 +15:1/0/terrains_peering_bit/bottom_side = 0 +15:1/0/terrains_peering_bit/bottom_left_corner = 0 +15:1/0/terrains_peering_bit/left_side = 0 +15:1/0/terrains_peering_bit/top_side = 0 +15:1/0/terrains_peering_bit/top_right_corner = 0 +16:1/0 = 0 +16:1/0/terrain_set = 0 +16:1/0/terrain = 0 +16:1/0/terrains_peering_bit/right_side = 0 +16:1/0/terrains_peering_bit/bottom_right_corner = 0 +16:1/0/terrains_peering_bit/bottom_side = 0 +16:1/0/terrains_peering_bit/left_side = 0 +16:1/0/terrains_peering_bit/top_left_corner = 0 +16:1/0/terrains_peering_bit/top_side = 0 +0:2/0 = 0 +0:2/0/terrain_set = 0 +0:2/0/terrain = 0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -8.086128, 16, -16, 6.842106) +0:2/0/terrains_peering_bit/right_side = 0 +0:2/0/terrains_peering_bit/top_side = 0 +0:2/0/terrains_peering_bit/top_right_corner = 0 +1:2/0 = 0 +1:2/0/terrain_set = 0 +1:2/0/terrain = 0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -0.31100464, -16, -0.9330139, -16, 16, 16, 16) +1:2/0/terrains_peering_bit/right_side = 0 +1:2/0/terrains_peering_bit/left_side = 0 +1:2/0/terrains_peering_bit/top_left_corner = 0 +1:2/0/terrains_peering_bit/top_side = 0 +1:2/0/terrains_peering_bit/top_right_corner = 0 +2:2/0 = 0 +2:2/0/terrain_set = 0 +2:2/0/terrain = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +2:2/0/terrains_peering_bit/left_side = 0 +2:2/0/terrains_peering_bit/top_left_corner = 0 +2:2/0/terrains_peering_bit/top_side = 0 +4:2/0 = 0 +4:2/0/terrain_set = 0 +4:2/0/terrain = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +4:2/0/terrains_peering_bit/top_side = 0 +6:3/0 = 0 +6:3/0/terrain_set = 0 +6:3/0/terrain = 0 +6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.488037, -16, 2.1770325, 16, -16, 16) +6:3/0/terrains_peering_bit/right_side = 0 +6:3/0/terrains_peering_bit/bottom_side = 0 +6:3/0/terrains_peering_bit/top_side = 0 +6:3/0/terrains_peering_bit/top_right_corner = 0 +7:3/0 = 0 +7:3/0/terrain_set = 0 +7:3/0/terrain = 0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 2.488037, -16, 2.1770325, 16, 16, 16) +7:3/0/terrains_peering_bit/bottom_side = 0 +7:3/0/terrains_peering_bit/left_side = 0 +7:3/0/terrains_peering_bit/top_left_corner = 0 +7:3/0/terrains_peering_bit/top_side = 0 +9:3/0 = 0 +9:3/0/terrain_set = 0 +9:3/0/terrain = 0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 0, 16, -0.6220093) +9:3/0/terrains_peering_bit/right_side = 0 +9:3/0/terrains_peering_bit/bottom_side = 0 +9:3/0/terrains_peering_bit/bottom_left_corner = 0 +9:3/0/terrains_peering_bit/left_side = 0 +10:3/0 = 0 +10:3/0/terrain_set = 0 +10:3/0/terrain = 0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 0, 16, -0.6220093) +10:3/0/terrains_peering_bit/right_side = 0 +10:3/0/terrains_peering_bit/bottom_right_corner = 0 +10:3/0/terrains_peering_bit/bottom_side = 0 +10:3/0/terrains_peering_bit/left_side = 0 +12:3/0 = 0 +12:3/0/terrain_set = 0 +12:3/0/terrain = 0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +12:3/0/terrains_peering_bit/right_side = 0 +12:3/0/terrains_peering_bit/bottom_side = 0 +12:3/0/terrains_peering_bit/top_side = 0 +13:3/0 = 0 +13:3/0/terrain_set = 0 +13:3/0/terrain = 0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +13:3/0/terrains_peering_bit/right_side = 0 +13:3/0/terrains_peering_bit/bottom_side = 0 +13:3/0/terrains_peering_bit/left_side = 0 +15:3/0 = 0 +15:3/0/terrain_set = 0 +15:3/0/terrain = 0 +15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +15:3/0/terrains_peering_bit/right_side = 0 +15:3/0/terrains_peering_bit/bottom_side = 0 +16:3/0 = 0 +16:3/0/terrain_set = 0 +16:3/0/terrain = 0 +16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +16:3/0/terrains_peering_bit/bottom_side = 0 +16:3/0/terrains_peering_bit/left_side = 0 +0:4/0 = 0 +0:4/0/terrain_set = 0 +0:4/0/terrain = 0 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:4/0/terrains_peering_bit/right_side = 0 +1:4/0 = 0 +1:4/0/terrain_set = 0 +1:4/0/terrain = 0 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:4/0/terrains_peering_bit/right_side = 0 +1:4/0/terrains_peering_bit/left_side = 0 +2:4/0 = 0 +2:4/0/terrain_set = 0 +2:4/0/terrain = 0 +2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:4/0/terrains_peering_bit/left_side = 0 +4:4/0 = 0 +4:4/0/terrain_set = 0 +4:4/0/terrain = 0 +4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +6:4/0 = 0 +6:4/0/terrain_set = 0 +6:4/0/terrain = 0 +6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.488037, -16, 2.1770325, 16, -16, 16) +6:4/0/terrains_peering_bit/right_side = 0 +6:4/0/terrains_peering_bit/bottom_right_corner = 0 +6:4/0/terrains_peering_bit/bottom_side = 0 +6:4/0/terrains_peering_bit/top_side = 0 +7:4/0 = 0 +7:4/0/terrain_set = 0 +7:4/0/terrain = 0 +7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 2.488037, -16, 2.1770325, 16, 16, 16) +7:4/0/terrains_peering_bit/bottom_side = 0 +7:4/0/terrains_peering_bit/bottom_left_corner = 0 +7:4/0/terrains_peering_bit/left_side = 0 +7:4/0/terrains_peering_bit/top_side = 0 +9:4/0 = 0 +9:4/0/terrain_set = 0 +9:4/0/terrain = 0 +9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, 0.9330139, -16, 0.9330139, -16, 16, 16, 16) +9:4/0/terrains_peering_bit/right_side = 0 +9:4/0/terrains_peering_bit/left_side = 0 +9:4/0/terrains_peering_bit/top_left_corner = 0 +9:4/0/terrains_peering_bit/top_side = 0 +10:4/0 = 0 +10:4/0/terrain_set = 0 +10:4/0/terrain = 0 +10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, 0.9330139, -16, 0.9330139, -16, 16, 16, 16) +10:4/0/terrains_peering_bit/right_side = 0 +10:4/0/terrains_peering_bit/left_side = 0 +10:4/0/terrains_peering_bit/top_side = 0 +10:4/0/terrains_peering_bit/top_right_corner = 0 +12:4/0 = 0 +12:4/0/terrain_set = 0 +12:4/0/terrain = 0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +12:4/0/terrains_peering_bit/right_side = 0 +12:4/0/terrains_peering_bit/left_side = 0 +12:4/0/terrains_peering_bit/top_side = 0 +13:4/0 = 0 +13:4/0/terrain_set = 0 +13:4/0/terrain = 0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +13:4/0/terrains_peering_bit/bottom_side = 0 +13:4/0/terrains_peering_bit/left_side = 0 +13:4/0/terrains_peering_bit/top_side = 0 +15:4/0 = 0 +15:4/0/terrain_set = 0 +15:4/0/terrain = 0 +15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +15:4/0/terrains_peering_bit/right_side = 0 +15:4/0/terrains_peering_bit/top_side = 0 +16:4/0 = 0 +16:4/0/terrain_set = 0 +16:4/0/terrain = 0 +16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16) +16:4/0/terrains_peering_bit/left_side = 0 +16:4/0/terrains_peering_bit/top_side = 0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_vtaks"] +texture = ExtResource("8_6uuvf") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 1 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kvpfn"] +texture = ExtResource("9_x008a") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrains_peering_bit/bottom_side = 1 +0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 1 +0:1/0/terrains_peering_bit/top_side = 1 + +[sub_resource type="TileSet" id="TileSet_mvphy"] +tile_size = Vector2i(32, 32) +physics_layer_0/collision_layer = 1 +terrain_set_0/mode = 0 +terrain_set_0/terrain_0/name = "LeafyDirt" +terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) +terrain_set_0/terrain_1/name = "Veg" +terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1) +sources/0 = SubResource("TileSetAtlasSource_u5sy4") +sources/1 = SubResource("TileSetAtlasSource_vtaks") +sources/2 = SubResource("TileSetAtlasSource_kvpfn") + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_mvphy"] +size = Vector2(66, 20) + +[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_mvphy"] + +[node name="Game" type="Node2D" unique_id=989312165] + +[node name="Parallax2D" type="Parallax2D" parent="." unique_id=1222718260] +repeat_size = Vector2(400, 225) + +[node name="Sprite2D" type="Sprite2D" parent="Parallax2D" unique_id=136019890] +texture = ExtResource("1_bradm") +offset = Vector2(200, 112) + +[node name="farbg" type="Parallax2D" parent="." unique_id=415159613] +repeat_size = Vector2(400, 0) + +[node name="Sprite2D" type="Sprite2D" parent="farbg" unique_id=2117193867] +texture_filter = 1 +texture = ExtResource("2_got4s") +offset = Vector2(200, 350) + +[node name="midground" type="Parallax2D" parent="." unique_id=2019512975] +scroll_scale = Vector2(1.2, 1) +repeat_size = Vector2(400, 0) + +[node name="Sprite2D" type="Sprite2D" parent="midground" unique_id=2080878610] +texture_filter = 1 +texture = ExtResource("3_e40mx") +offset = Vector2(200, 350) + +[node name="Player" parent="." unique_id=735255374 instance=ExtResource("4_a114e")] +position = Vector2(594, 390) + +[node name="foreground" type="Parallax2D" parent="." unique_id=246559660] +scroll_scale = Vector2(1.3, 1) +repeat_size = Vector2(400, 0) + +[node name="Sprite2D" type="Sprite2D" parent="foreground" unique_id=1690720392] +texture = ExtResource("5_y1e0c") +offset = Vector2(200, 340) + +[node name="SceneManager" type="Node2D" parent="." unique_id=1778809182] +script = ExtResource("6_s4dsi") + +[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=374407051] +texture_filter = 1 +tile_map_data = PackedByteArray("AAASAA0AAAAEAAAAAAAVAA0AAAAAAAAAAAAWAA0AAAABAAAAAAAXAA0AAAABAAAAAAAYAA0AAAAHAAQAAAAYAAwAAAAGAAMAAAAYAAsAAAAAAAAAAAAZAAsAAAABAAAAAAAZAAwAAAABAAIAAAAaAAwAAAACAAIAAAAaAAsAAAACAAAAAAAWAAkAAAACAAQAAAAVAAkAAAAAAAQAAAANABIAAAABAAAAAAAOABIAAAABAAAAAAAPABIAAAABAAAAAAAQABIAAAABAAAAAAARABIAAAABAAAAAAASABIAAAABAAAAAAATABIAAAABAAAAAAAUABIAAAABAAAAAAAVABIAAAABAAAAAAAWABIAAAABAAAAAAAXABIAAAABAAAAAAAYABIAAAABAAAAAAAZABIAAAABAAAAAAAaABIAAAABAAAAAAAbABIAAAAHAAEAAAAbABEAAAAAAAAAAAAcABEAAAACAAAAAAAcABIAAAACAAEAAAANABMAAAAHAAAAAAAOABMAAAAGAAEAAAAPABMAAAAHAAEAAAAQABMAAAAHAAAAAAAQABQAAAAKAAQAAAAPABQAAAAJAAQAAAAOABQAAAABAAIAAAANABQAAAAAAAIAAAARABMAAAAGAAAAAAASABMAAAAGAAAAAAATABMAAAAHAAAAAAASABQAAAAJAAQAAAARABQAAAAJAAQAAAAYABMAAAAGAAAAAAAZABMAAAAGAAAAAAAaABMAAAAGAAAAAAAaABQAAAABAAIAAAAbABMAAAAGAAAAAAAcABMAAAACAAIAAAAbABQAAAACAAIAAAAYABQAAAABAAIAAAAXABMAAAAHAAAAAAAWABMAAAAGAAAAAAAVABMAAAAGAAAAAAAVABQAAAABAAIAAAAUABMAAAAGAAAAAAAUABQAAAAJAAQAAAATABQAAAAKAAQAAAAWABQAAAABAAIAAAAXABQAAAABAAIAAAAZABQAAAABAAIAAAALABMAAAABAAIAAAAMABMAAAABAAIAAAAMABIAAAABAAAAAAALABIAAAABAAAAAAAKABIAAAABAAAAAAAKABMAAAABAAIAAAAJABMAAAAAAAIAAAAJABIAAAAQAAEAAAAIABIAAAAAAAIAAAAIABEAAAAAAAEAAAAJABEAAAACAAEAAAAIABAAAAAAAAEAAAAIAA8AAAAHAAAAAAAJAA8AAAACAAEAAAAJABAAAAACAAEAAAAIAA4AAAABAAAAAAAHAA8AAAAAAAIAAAAHAA4AAAAQAAEAAAAHAA0AAAACAAAAAAAGAA0AAAAGAAQAAAAGAAwAAAAEAAEAAAAGAAsAAAAPAAMAAAAHAAsAAAABAAQAAAAIAAsAAAABAAQAAAAJAAsAAAAKAAQAAAAKAAsAAAACAAIAAAAKAAoAAAACAAAAAAAJAAoAAAAAAAAAAAANABAAAAACAAQAAAAMABAAAAABAAQAAAALABAAAAAAAAQAAAAVAAwAAQAAAAAAAAAYAAoAAQAAAAAAAAAZAAoAAQAAAAAAAAAIAA0AAQAAAAAAAAAJAAkAAQAAAAAAAAAWAAwAAgAAAAEAAAAWAAsAAgAAAAAAAAAbABAAAgAAAAEAAAAbAA8AAgAAAAAAAAAaABEAAQAAAAAAAAAYAA4AAAAJAAQAAAAXAA4AAAABAAIAAAAWAA4AAAABAAIAAAAVAA4AAAAKAAQAAAAUAA4AAAABAAQAAAATAA4AAAABAAQAAAASAA4AAAAMAAQAAAARAA4AAAABAAQAAAAQAA4AAAABAAQAAAAPAA4AAAABAAQAAAAOAA4AAAABAAQAAAANAA4AAAABAAQAAAAMAA4AAAABAAQAAAALAA4AAAABAAQAAAAKAA4AAAABAAQAAAAJAA4AAAAJAAMAAAAZAA4AAAABAAQAAAAaAA4AAAABAAQAAAAbAA4AAAABAAQAAAAcAA4AAAABAAQAAAAdAA4AAAAKAAQAAAAdAA0AAAAAAAAAAAAeAA0AAAAPAAEAAAAeAAwAAAAAAAEAAAAeAAsAAAAAAAAAAAAfAAwAAAACAAEAAAAeAA4AAAACAAIAAAAfAA0AAAACAAIAAAAfAAsAAAAHAAQAAAAfAAoAAAAEAAEAAAAfAAkAAAAEAAAAAAAGAA4AAAAKAAQAAAAFAA4AAAABAAQAAAAEAA4AAAABAAQAAAADAA4AAAAJAAQAAAACAA4AAAABAAIAAAABAA4AAAAKAAQAAAAAAA4AAAAAAAQAAAADAA0AAAACAAEAAAACAA0AAAAGAAAAAAABAA0AAAAAAAEAAAABAAwAAAAAAAAAAAACAAwAAAAHAAEAAAACAAsAAAAAAAAAAAADAAsAAAACAAAAAAADAAwAAAACAAEAAAAPAAsAAAACAAQAAAAOAAsAAAABAAQAAAANAAsAAAAAAAQAAAA=") +tile_set = SubResource("TileSet_mvphy") + +[node name="StaticBody2D" type="StaticBody2D" parent="." unique_id=1148293182] +position = Vector2(713, 631) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D" unique_id=1634682333] +shape = SubResource("RectangleShape2D_mvphy") + +[node name="StaticBody2D2" type="StaticBody2D" parent="." unique_id=958110307] +position = Vector2(538, 582) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2" unique_id=1123970436] +shape = SubResource("WorldBoundaryShape2D_mvphy") + +[node name="Triggers" type="Node2D" parent="." unique_id=1308561168] + +[node name="Trigger" parent="Triggers" unique_id=1346685745 instance=ExtResource("10_atr84")] +position = Vector2(390, 541) + +[node name="Trigger2" parent="Triggers" unique_id=110247025 instance=ExtResource("10_atr84")] +position = Vector2(514, 502) +effect = "teleport" + +[node name="Crates" type="Node2D" parent="." unique_id=104104750] + +[node name="Crate" parent="Crates" unique_id=1367266345 instance=ExtResource("11_qyu38")] +position = Vector2(365, 431) + +[node name="Crate2" parent="Crates" unique_id=1110392418 instance=ExtResource("11_qyu38")] +position = Vector2(480, 430) + +[node name="RigidBody2D" parent="Crates" unique_id=721458511 instance=ExtResource("11_qyu38")] +position = Vector2(423, 425) + +[node name="Crate3" parent="Crates" unique_id=201497032 instance=ExtResource("11_qyu38")] +position = Vector2(681, 364) +rotation = 0.79584646 + +[node name="Coins" type="Node2D" parent="." unique_id=1387422217] + +[node name="Coin" parent="Coins" unique_id=613946937 instance=ExtResource("12_8vbrh")] +position = Vector2(623, 436) + +[node name="Coin2" parent="Coins" unique_id=1750219177 instance=ExtResource("12_8vbrh")] +position = Vector2(738, 404) + +[node name="Coin3" parent="Coins" unique_id=2129884856 instance=ExtResource("12_8vbrh")] +position = Vector2(518, 435) + +[node name="Enemies" type="Node2D" parent="." unique_id=81054696] + +[node name="Slime" parent="Enemies" unique_id=1316034960 instance=ExtResource("13_d5gix")] +position = Vector2(719, 409) + +[connection signal="areaTriggered" from="Triggers/Trigger" to="." method="_on_trigger"] diff --git a/scripts/gamecontroller.gd b/scripts/gamecontroller.gd index 640dcc3..6604ced 100644 --- a/scripts/gamecontroller.gd +++ b/scripts/gamecontroller.gd @@ -9,6 +9,9 @@ var totalCoins = 0 var coinsRemaining = 0 var coinsCollected = 0 +var levelArray=["res://scenes/game.tscn","res://scenes/level2.tscn", "res://scenes/level3.tscn"] +var currentLevel = 0 + var enemiesDict={} var playerStats={ "health": 100, @@ -20,10 +23,13 @@ var playerStats={ func _ready() -> void: get_window().grab_focus() - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta: float) -> void: - pass +func reset()->void: + playerStats={ + "health": 100, + "meleeDamage": 20, + "rangeDamage": 20 + } + enemiesDict.clear() func _on_trigger(effect: Variant, Object: Variant) -> void: @@ -58,7 +64,11 @@ func _on_bullet_hit(body, bullet) -> void: func crateTotal(amount)->void: numberOfCrates = amount if numberOfCrates<=0: - print("YOU WON!!!") + if currentLevelvoid: if totalCoins == 0: totalCoins = amount @@ -92,4 +102,4 @@ func removeEnemyFromLevel(enemy)->void: func levelChange()->void: print("change levels (reload)") - get_tree().reload_current_scene() + get_tree().change_scene_to_file(levelArray[currentLevel]) diff --git a/scripts/scene_manager.gd b/scripts/scene_manager.gd index e359f4e..f57e858 100644 --- a/scripts/scene_manager.gd +++ b/scripts/scene_manager.gd @@ -1,7 +1,6 @@ class_name SceneManager extends Node2D @onready var triggers: Node2D = $"../Triggers" -@onready var game: GameController = $".." @onready var player: Player = $"../Player" @onready var crates: Node2D = $"../Crates" @onready var coins: Node2D = $"../Coins" @@ -15,12 +14,13 @@ var bulletArray:Array[Bullet] = [] # Called when the node enters the scene tree for the first time. func _ready() -> void: + Gamecontroller.reset() buildLevel() - game.teleportSignal.connect(teleport) - game.destroySignal.connect(destroy) - game.damageSignal.connect(damage) + Gamecontroller.teleportSignal.connect(teleport) + Gamecontroller.destroySignal.connect(destroy) + Gamecontroller.damageSignal.connect(damage) player.bulletSignal.connect(makeBullet) - player.deathCompleteSignal.connect(game.levelChange) + player.deathCompleteSignal.connect(Gamecontroller.levelChange) updateCrates() updateCoins() updateEnemies() @@ -40,7 +40,7 @@ func updateCrates()->void: obj.tree_exited.connect(updateCrates) totalCrates +=1 # tell the gamecontroller how many crates - game.crateTotal(totalCrates) + Gamecontroller.crateTotal(totalCrates) func updateCoins()->void: var totalCoins = 0 @@ -49,26 +49,26 @@ func updateCoins()->void: if obj is Coin: if not obj.tree_exited.is_connected(updateCoins): obj.tree_exited.connect(updateCoins) - if not obj.coinCollisionSignal.is_connected(game.coinCollected): - obj.coinCollisionSignal.connect(game.coinCollected) + if not obj.coinCollisionSignal.is_connected(Gamecontroller.coinCollected): + obj.coinCollisionSignal.connect(Gamecontroller.coinCollected) totalCoins +=1 - game.coinTotal(totalCoins) + Gamecontroller.coinTotal(totalCoins) func updateEnemies()->void: if enemies: for obj in enemies.get_children(): var enemy = obj as Slime if enemy: - game.addEnemyToLevel(enemy) - if not enemy.enemyAttackSignal.is_connected(game.slimeAttack): - enemy.enemyAttackSignal.connect(game.slimeAttack) + Gamecontroller.addEnemyToLevel(enemy) + if not enemy.enemyAttackSignal.is_connected(Gamecontroller.slimeAttack): + enemy.enemyAttackSignal.connect(Gamecontroller.slimeAttack) func buildLevel()->void: if triggers: for obj in triggers.get_children(): if obj is Trigger: - if not obj.areaTriggered.is_connected(game._on_trigger): - obj.areaTriggered.connect(game._on_trigger) + if not obj.areaTriggered.is_connected(Gamecontroller._on_trigger): + obj.areaTriggered.connect(Gamecontroller._on_trigger) func teleport(body, _bodyposition=null)->void: if body is Crate: @@ -93,8 +93,8 @@ func bulletFactory()->Bullet: myBullet = bullet.instantiate() add_sibling(myBullet) #wire up a signal to the game controller - if not myBullet.bulletDamageSignal.is_connected(game._on_bullet_hit): - myBullet.bulletDamageSignal.connect(game._on_bullet_hit) + if not myBullet.bulletDamageSignal.is_connected(Gamecontroller._on_bullet_hit): + myBullet.bulletDamageSignal.connect(Gamecontroller._on_bullet_hit) else: #recycle bullet myBullet = bulletArray.pop_back()