changed stuff

This commit is contained in:
stevensoroka 2025-09-08 20:56:39 -04:00
parent b824c5eb64
commit 632d6fd508
No known key found for this signature in database
15 changed files with 1265 additions and 9 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ck04qn64ivj65"
path="res://.godot/imported/slime_purple.png-7c7bd1452ab1f0d8805110e20459acf6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/enemies/slime_purple.png"
dest_files=["res://.godot/imported/slime_purple.png-7c7bd1452ab1f0d8805110e20459acf6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -15,6 +15,10 @@ run/main_scene="uid://bjk7nrcwo0ikb"
config/features=PackedStringArray("4.4", "Forward Plus")
config/icon="res://icon.svg"
[autoload]
Gamecontroller="*res://scripts/gamecontroller.gd"
[display]
window/size/viewport_width=320

View File

@ -1,6 +1,5 @@
[gd_scene load_steps=17 format=4 uid="uid://bjk7nrcwo0ikb"]
[ext_resource type="Script" uid="uid://bc6rpr127gn6l" path="res://scripts/gamecontroller.gd" id="1_lnu2h"]
[ext_resource type="PackedScene" uid="uid://cm72yvkbgso3" path="res://scenes/crate.tscn" id="2_lbhrr"]
[ext_resource type="PackedScene" uid="uid://bbg4idgjqm8wr" path="res://scenes/player.tscn" id="2_lnu2h"]
[ext_resource type="Script" uid="uid://slrv7nc7hjkl" path="res://scripts/scene_manager.gd" id="2_p57ef"]
@ -10,6 +9,7 @@
[ext_resource type="Texture2D" uid="uid://c7jv76bxbxvbh" path="res://assets/graphics/backgrounds/Additional Sky.png" id="3_vtaks"]
[ext_resource type="Texture2D" uid="uid://dkba2pxo8d64q" path="res://assets/graphics/mushroom_32x64.png" id="5_vtaks"]
[ext_resource type="Texture2D" uid="uid://csakuf3siypsi" path="res://assets/graphics/veg_32x32.png" id="6_kvpfn"]
[ext_resource type="PackedScene" uid="uid://dlcwgmi2phvf0" path="res://scenes/slime.tscn" id="11_dinhu"]
[ext_resource type="PackedScene" uid="uid://4eqy4vr3njwo" path="res://scenes/coin.tscn" id="11_kvpfn"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u5sy4"]
@ -412,7 +412,6 @@ sources/2 = SubResource("TileSetAtlasSource_kvuet")
distance = 15.0
[node name="Game" type="Node2D"]
script = ExtResource("1_lnu2h")
[node name="SceneManager" type="Node2D" parent="."]
unique_name_in_owner = true
@ -491,4 +490,9 @@ position = Vector2(701, 461)
[node name="crate5" parent="." instance=ExtResource("2_lbhrr")]
position = Vector2(101, 405)
[node name="Enemies" type="Node" parent="."]
[node name="Slime" parent="Enemies" instance=ExtResource("11_dinhu")]
position = Vector2(558, 123)
[connection signal="areaTriggerSignal" from="triggers/player_hurt" to="." method="_on_area_2d_area_trigger_signal"]

492
scenes/level2.tscn Normal file
View File

@ -0,0 +1,492 @@
[gd_scene load_steps=16 format=4 uid="uid://btey4vrfdv6qf"]
[ext_resource type="Script" uid="uid://slrv7nc7hjkl" path="res://scripts/scene_manager.gd" id="1_bo4dx"]
[ext_resource type="Texture2D" uid="uid://c7jv76bxbxvbh" path="res://assets/graphics/backgrounds/Additional Sky.png" id="2_76toy"]
[ext_resource type="Texture2D" uid="uid://b2djs54a544mi" path="res://assets/graphics/backgrounds/forestbackground.png" id="3_8g4ke"]
[ext_resource type="Texture2D" uid="uid://lqv0pjykcj6s" path="res://assets/graphics/tilemaps/Terrain (32x32).png" id="4_56gwk"]
[ext_resource type="Texture2D" uid="uid://dkba2pxo8d64q" path="res://assets/graphics/mushroom_32x64.png" id="5_ve5ok"]
[ext_resource type="Texture2D" uid="uid://csakuf3siypsi" path="res://assets/graphics/veg_32x32.png" id="6_cleqw"]
[ext_resource type="PackedScene" uid="uid://cm72yvkbgso3" path="res://scenes/crate.tscn" id="7_wvb8j"]
[ext_resource type="PackedScene" uid="uid://bbg4idgjqm8wr" path="res://scenes/player.tscn" id="8_g8vcy"]
[ext_resource type="PackedScene" uid="uid://d1gmq2hler2x3" path="res://scenes/trigger.tscn" id="9_cqal4"]
[ext_resource type="PackedScene" uid="uid://4eqy4vr3njwo" path="res://scenes/coin.tscn" id="10_o3sye"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u5sy4"]
texture = ExtResource("4_56gwk")
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(-16, -16, 16, -16, 16, 16, -16, 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
1:1/0/terrain_set = 0
1:1/0/terrain = 0
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:1/0/terrains_peering_bit/right_side = 0
1:1/0/terrains_peering_bit/bottom_right_corner = 0
1:1/0/terrains_peering_bit/bottom_side = 0
1:1/0/terrains_peering_bit/bottom_left_corner = 0
1:1/0/terrains_peering_bit/left_side = 0
1:1/0/terrains_peering_bit/top_left_corner = 0
1:1/0/terrains_peering_bit/top_side = 0
1:1/0/terrains_peering_bit/top_right_corner = 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, 16, -16, 16, 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, -6.12313, 16, -16, 7.08698)
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, -16, 16, -16, 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, 8.83945, 7.19564, 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, 9.18995, 7.89663, 16, -6.12313, 16, -16, 7.08698)
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, 16, -16, 16, 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, 16, -16, 16, 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, 16, -16, 16)
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, 16, -16, 16)
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, -7.70035, 16, -16, 7.61272)
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, 9.71568, 9.12336, 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, 9.18995, 7.89663, 16, -6.12313, 16, -16, 7.08698)
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, 16, -16, 16, 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, 16, -16, 16, 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, -16, 16, -16, 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, -16, 16, -16, 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, -7.70035, 16, -16, 7.61272)
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, 9.71568, 9.12336, 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_dinhu"]
texture = ExtResource("5_ve5ok")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 1
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="TileSetAtlasSource" id="TileSetAtlasSource_kvuet"]
texture = ExtResource("6_cleqw")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 1
[sub_resource type="TileSet" id="TileSet_gee14"]
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_dinhu")
sources/2 = SubResource("TileSetAtlasSource_kvuet")
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"]
distance = 15.0
[node name="Game" type="Node2D"]
[node name="SceneManager" type="Node2D" parent="."]
unique_name_in_owner = true
script = ExtResource("1_bo4dx")
[node name="Parallax2D" type="Parallax2D" parent="."]
repeat_size = Vector2(32, 32)
repeat_times = 10
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D"]
position = Vector2(180, 82)
texture = ExtResource("2_76toy")
[node name="Parallax2D2" type="Parallax2D" parent="."]
scroll_scale = Vector2(1.2, 1)
repeat_size = Vector2(320, 0)
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D2"]
position = Vector2(159, 296)
texture = ExtResource("3_8g4ke")
[node name="TileMapLayer" type="TileMapLayer" parent="."]
texture_filter = 1
position = Vector2(0, 2)
scale = Vector2(1.02919, 0.998219)
tile_map_data = PackedByteArray("AAAFAAQAAAAAAAAAAAAGAAQAAAABAAAAAAAHAAQAAAACAAAAAAAFAAUAAAAAAAEAAAAFAAYAAAAAAAIAAAAGAAUAAAABAAEAAAAGAAYAAAABAAIAAAAHAAUAAAACAAEAAAAHAAYAAAAHAAMAAAADAAkAAAAAAAAAAAAEAAkAAAACAAAAAAAEAAoAAAAJAAQAAAAFAAoAAAAQAAMAAAAKAA0AAAABAAAAAAALAA4AAAABAAEAAAAMAA8AAAABAAEAAAANAA8AAAABAAEAAAAOABAAAAABAAIAAAAPABAAAAABAAIAAAAPAA8AAAABAAEAAAAOAA8AAAABAAEAAAAOAA4AAAABAAEAAAANAA4AAAABAAEAAAAMAA4AAAABAAEAAAALAA0AAAABAAAAAAANAA0AAAABAAAAAAAMAA0AAAABAAAAAAALAA8AAAABAAEAAAALABAAAAABAAIAAAAMABAAAAABAAIAAAANABAAAAABAAIAAAAKABAAAAABAAIAAAAKAA4AAAABAAEAAAAKAA8AAAABAAEAAAAJAA8AAAAAAAEAAAARAA0AAAABAAAAAAAQAA0AAAABAAAAAAAQAA4AAAABAAEAAAAPAA4AAAABAAEAAAAQAA8AAAABAAEAAAAQABAAAAABAAIAAAARABAAAAABAAIAAAASABAAAAACAAIAAAASAA8AAAACAAEAAAASAA4AAAAKAAAAAAASAA0AAAACAAAAAAAEAA8AAAABAAEAAAAEABAAAAABAAEAAAADABAAAAABAAEAAAACABAAAAABAAEAAAACABEAAAABAAEAAAACABIAAAABAAEAAAADABIAAAABAAEAAAADABMAAAABAAEAAAAEABMAAAABAAEAAAAFABMAAAABAAEAAAAGABMAAAACAAEAAAAGABIAAAAGAAAAAAAHABIAAAACAAIAAAAHABEAAAACAAEAAAAHABAAAAACAAEAAAAGABAAAAABAAEAAAAFABAAAAABAAEAAAAFAA8AAAABAAEAAAAFABEAAAABAAEAAAAEABEAAAABAAEAAAAEABIAAAABAAEAAAADABEAAAABAAEAAAAGABEAAAABAAEAAAAFABIAAAABAAEAAAAOAA0AAAABAAAAAAAPAA0AAAABAAAAAAARAA4AAAABAAEAAAARAA8AAAABAAEAAAAOAAUAAAAAAAQAAAAPAAUAAAAJAAEAAAAPAAQAAAAAAAAAAAAQAAQAAAABAAAAAAARAAQAAAACAAAAAAASAAUAAAACAAAAAAASAAYAAAACAAIAAAARAAYAAAABAAIAAAAQAAYAAAABAAIAAAAPAAYAAAAAAAIAAAAQAAUAAAABAAEAAAARAAUAAAAGAAEAAAANAAkAAAABAAEAAAAMAAgAAAABAAAAAAALAAcAAAAEAAAAAAAKAAYAAAAEAAQAAAAHAAcAAAAPAAQAAAAIAAcAAAAQAAMAAAAIAAgAAAAPAAQAAAAJAAgAAAAKAAMAAAAKAAgAAAABAAAAAAAKAAkAAAAHAAAAAAAKAAoAAAAAAAIAAAAQAAkAAAACAAAAAAAPAAkAAAABAAAAAAAOAAkAAAAGAAEAAAAOAAgAAAACAAAAAAANAAgAAAABAAAAAAALAAgAAAAJAAAAAAAMAAkAAAABAAEAAAALAAkAAAABAAEAAAAJAAkAAAAAAAIAAAAMAAoAAAABAAIAAAANAAoAAAABAAIAAAAOAAoAAAABAAIAAAAPAAoAAAABAAIAAAAQAAoAAAACAAIAAAALAAoAAAABAAIAAAAJAA0AAAABAAAAAAAJAA4AAAAHAAAAAAAJABAAAAAAAAIAAAAHAA8AAAACAAEAAAAGAA8AAAABAAEAAAADAA8AAAABAAEAAAACAA8AAAABAAEAAAABAA8AAAABAAEAAAAAABAAAAAAAAEAAAAAABEAAAAAAAIAAAABABEAAAAHAAAAAAABABAAAAABAAEAAAABABIAAAAAAAEAAAABABMAAAAAAAEAAAACABMAAAABAAEAAAAAAAoAAAAPAAMAAAAAAAsAAAAEAAEAAAAAAAwAAAAEAAEAAAADAAoAAAAKAAQAAAACAAoAAAABAAQAAAABAAoAAAABAAQAAAADAA0AAAABAAAAAAACAA0AAAABAAAAAAABAA0AAAABAAAAAAAAAA4AAAAHAAEAAAD//w4AAAAAAAAAAAD//w8AAAAAAAIAAAAAAA8AAAAHAAAAAAACAA4AAAABAAEAAAAEAA0AAAABAAAAAAAEAA4AAAABAAEAAAADAA4AAAABAAEAAAAHAA4AAAAGAAAAAAAIAA4AAAABAAIAAAAIAA0AAAABAAAAAAAFAAsAAAAEAAIAAAAVAAIAAAAEAAAAAAAVAAMAAAAPAAQAAAAWAAMAAAAQAAMAAAAWAAQAAAAEAAEAAAAWAAUAAAAEAAEAAAAWAAYAAAAEAAEAAAAWAAcAAAAEAAEAAAAWAAgAAAAEAAEAAAAWAAkAAAAEAAEAAAAWAAoAAAAEAAIAAAAWABYAAAAEAAQAAAATAA4AAAACAAQAAAAUAA8AAAAAAAQAAAAVAA8AAAAQAAMAAAAVABAAAAAEAAIAAAAWABMAAAAEAAAAAAAWABQAAAAMAAQAAAAFAA0AAAABAAAAAAAGAA0AAAABAAAAAAAHAA0AAAABAAAAAAAAAA0AAAAGAAQAAAAFAA4AAAABAAEAAAABAA4AAAABAAEAAAAGAA4AAAABAAEAAAAQABQAAAABAAQAAAARABQAAAABAAQAAAASABQAAAABAAQAAAATABQAAAABAAQAAAAUABQAAAABAAQAAAAVABQAAAABAAQAAAAXABQAAAABAAQAAAAYABQAAAABAAQAAAAZABQAAAABAAQAAAAaABQAAAABAAQAAAAbABQAAAABAAQAAAAcABQAAAABAAQAAAAdABQAAAABAAQAAAAeABQAAAABAAQAAAAfABQAAAACAAQAAAAPABQAAAABAAQAAAAOABQAAAABAAQAAAANABQAAAABAAQAAAAMABQAAAABAAQAAAALABQAAAABAAQAAAAKABQAAAABAAQAAAAJABQAAAABAAQAAAAIABQAAAABAAQAAAAHABQAAAABAAQAAAAGABQAAAAJAAQAAAAFABQAAAABAAIAAAAEABQAAAABAAIAAAADABQAAAABAAIAAAACABQAAAABAAIAAAABABQAAAAKAAQAAAAAABQAAAABAAQAAAD//xQAAAABAAQAAAD+/xQAAAABAAQAAAD9/xQAAAABAAQAAAD8/xQAAAABAAQAAAD7/xQAAAABAAQAAAD6/xQAAAAAAAQAAAAMAAwAAgAAAAAAAAAPAAwAAgAAAAAAAAAVAA4AAgAAAAAAAAAaABMAAgAAAAAAAAAIABMAAgAAAAAAAAAHAAwAAgAAAAAAAAATABMAAgAAAAAAAAARABMAAQAAAAEAAAARABIAAQAAAAAAAAAeABMAAQAAAAEAAAAeABIAAQAAAAAAAAA=")
tile_set = SubResource("TileSet_gee14")
[node name="crate" parent="." instance=ExtResource("7_wvb8j")]
position = Vector2(272, -97)
[node name="world-boundary" type="StaticBody2D" parent="."]
position = Vector2(488, 761)
metadata/_edit_group_ = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="world-boundary"]
shape = SubResource("WorldBoundaryShape2D_8cj0n")
[node name="Player" parent="." instance=ExtResource("8_g8vcy")]
position = Vector2(210, 92)
[node name="crate2" parent="." instance=ExtResource("7_wvb8j")]
position = Vector2(170, -30)
[node name="crate3" parent="." instance=ExtResource("7_wvb8j")]
position = Vector2(446, -170)
[node name="crate4" parent="." instance=ExtResource("7_wvb8j")]
position = Vector2(274, -216)
[node name="triggers" type="Node2D" parent="."]
[node name="player_hurt" parent="triggers" instance=ExtResource("9_cqal4")]
position = Vector2(1106, 604)
[node name="coins" type="Node" parent="."]
[node name="coin" parent="coins" instance=ExtResource("10_o3sye")]
position = Vector2(287, 115)
[node name="coin2" parent="coins" instance=ExtResource("10_o3sye")]
position = Vector2(287, 188)
[node name="coin3" parent="coins" instance=ExtResource("10_o3sye")]
position = Vector2(435, 238)
[node name="coin4" parent="coins" instance=ExtResource("10_o3sye")]
position = Vector2(595, 397)
[node name="coin5" parent="coins" instance=ExtResource("10_o3sye")]
position = Vector2(45, 300)
[node name="coin6" parent="coins" instance=ExtResource("10_o3sye")]
position = Vector2(701, 461)
[node name="crate5" parent="." instance=ExtResource("7_wvb8j")]
position = Vector2(101, 405)
[connection signal="areaTriggerSignal" from="triggers/player_hurt" to="." method="_on_area_2d_area_trigger_signal"]

492
scenes/level3.tscn Normal file
View File

@ -0,0 +1,492 @@
[gd_scene load_steps=16 format=4 uid="uid://du1gtgffsdup7"]
[ext_resource type="Script" uid="uid://slrv7nc7hjkl" path="res://scripts/scene_manager.gd" id="1_6qt4k"]
[ext_resource type="Texture2D" uid="uid://c7jv76bxbxvbh" path="res://assets/graphics/backgrounds/Additional Sky.png" id="2_fh4ka"]
[ext_resource type="Texture2D" uid="uid://b2djs54a544mi" path="res://assets/graphics/backgrounds/forestbackground.png" id="3_qewby"]
[ext_resource type="Texture2D" uid="uid://lqv0pjykcj6s" path="res://assets/graphics/tilemaps/Terrain (32x32).png" id="4_bradm"]
[ext_resource type="Texture2D" uid="uid://dkba2pxo8d64q" path="res://assets/graphics/mushroom_32x64.png" id="5_got4s"]
[ext_resource type="Texture2D" uid="uid://csakuf3siypsi" path="res://assets/graphics/veg_32x32.png" id="6_e40mx"]
[ext_resource type="PackedScene" uid="uid://cm72yvkbgso3" path="res://scenes/crate.tscn" id="7_a114e"]
[ext_resource type="PackedScene" uid="uid://bbg4idgjqm8wr" path="res://scenes/player.tscn" id="8_y1e0c"]
[ext_resource type="PackedScene" uid="uid://d1gmq2hler2x3" path="res://scenes/trigger.tscn" id="9_s4dsi"]
[ext_resource type="PackedScene" uid="uid://4eqy4vr3njwo" path="res://scenes/coin.tscn" id="10_07lh1"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u5sy4"]
texture = ExtResource("4_bradm")
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(-16, -16, 16, -16, 16, 16, -16, 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
1:1/0/terrain_set = 0
1:1/0/terrain = 0
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:1/0/terrains_peering_bit/right_side = 0
1:1/0/terrains_peering_bit/bottom_right_corner = 0
1:1/0/terrains_peering_bit/bottom_side = 0
1:1/0/terrains_peering_bit/bottom_left_corner = 0
1:1/0/terrains_peering_bit/left_side = 0
1:1/0/terrains_peering_bit/top_left_corner = 0
1:1/0/terrains_peering_bit/top_side = 0
1:1/0/terrains_peering_bit/top_right_corner = 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, 16, -16, 16, 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, -6.12313, 16, -16, 7.08698)
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, -16, 16, -16, 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, 8.83945, 7.19564, 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, 9.18995, 7.89663, 16, -6.12313, 16, -16, 7.08698)
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, 16, -16, 16, 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, 16, -16, 16, 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, 16, -16, 16)
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, 16, -16, 16)
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, -7.70035, 16, -16, 7.61272)
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, 9.71568, 9.12336, 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, 9.18995, 7.89663, 16, -6.12313, 16, -16, 7.08698)
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, 16, -16, 16, 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, 16, -16, 16, 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, -16, 16, -16, 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, -16, 16, -16, 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, -7.70035, 16, -16, 7.61272)
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, 9.71568, 9.12336, 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_dinhu"]
texture = ExtResource("5_got4s")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 1
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="TileSetAtlasSource" id="TileSetAtlasSource_kvuet"]
texture = ExtResource("6_e40mx")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 1
[sub_resource type="TileSet" id="TileSet_gee14"]
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_dinhu")
sources/2 = SubResource("TileSetAtlasSource_kvuet")
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"]
distance = 15.0
[node name="Game" type="Node2D"]
[node name="SceneManager" type="Node2D" parent="."]
unique_name_in_owner = true
script = ExtResource("1_6qt4k")
[node name="Parallax2D" type="Parallax2D" parent="."]
repeat_size = Vector2(32, 32)
repeat_times = 10
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D"]
position = Vector2(180, 82)
texture = ExtResource("2_fh4ka")
[node name="Parallax2D2" type="Parallax2D" parent="."]
scroll_scale = Vector2(1.2, 1)
repeat_size = Vector2(320, 0)
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D2"]
position = Vector2(159, 296)
texture = ExtResource("3_qewby")
[node name="TileMapLayer" type="TileMapLayer" parent="."]
texture_filter = 1
position = Vector2(0, 2)
scale = Vector2(1.02919, 0.998219)
tile_map_data = PackedByteArray("AAAFAAQAAAAAAAAAAAAGAAQAAAABAAAAAAAHAAQAAAACAAAAAAAFAAUAAAAAAAEAAAAFAAYAAAAAAAIAAAAGAAUAAAABAAEAAAAGAAYAAAABAAIAAAAHAAUAAAACAAEAAAAHAAYAAAAHAAMAAAADAAkAAAAAAAAAAAAEAAkAAAACAAAAAAAEAAoAAAAJAAQAAAAFAAoAAAAQAAMAAAAKAA0AAAABAAAAAAALAA4AAAABAAEAAAAMAA8AAAABAAEAAAANAA8AAAABAAEAAAAOABAAAAABAAIAAAAPABAAAAABAAIAAAAPAA8AAAABAAEAAAAOAA8AAAABAAEAAAAOAA4AAAABAAEAAAANAA4AAAABAAEAAAAMAA4AAAABAAEAAAALAA0AAAABAAAAAAANAA0AAAABAAAAAAAMAA0AAAABAAAAAAALAA8AAAABAAEAAAALABAAAAABAAIAAAAMABAAAAABAAIAAAANABAAAAABAAIAAAAKABAAAAABAAIAAAAKAA4AAAABAAEAAAAKAA8AAAABAAEAAAAJAA8AAAAAAAEAAAARAA0AAAABAAAAAAAQAA0AAAABAAAAAAAQAA4AAAABAAEAAAAPAA4AAAABAAEAAAAQAA8AAAABAAEAAAAQABAAAAABAAIAAAARABAAAAABAAIAAAASABAAAAACAAIAAAASAA8AAAACAAEAAAASAA4AAAAKAAAAAAASAA0AAAACAAAAAAAEAA8AAAABAAEAAAAEABAAAAABAAEAAAADABAAAAABAAEAAAACABAAAAABAAEAAAACABEAAAABAAEAAAACABIAAAABAAEAAAADABIAAAABAAEAAAADABMAAAABAAEAAAAEABMAAAABAAEAAAAFABMAAAABAAEAAAAGABMAAAACAAEAAAAGABIAAAAGAAAAAAAHABIAAAACAAIAAAAHABEAAAACAAEAAAAHABAAAAACAAEAAAAGABAAAAABAAEAAAAFABAAAAABAAEAAAAFAA8AAAABAAEAAAAFABEAAAABAAEAAAAEABEAAAABAAEAAAAEABIAAAABAAEAAAADABEAAAABAAEAAAAGABEAAAABAAEAAAAFABIAAAABAAEAAAAOAA0AAAABAAAAAAAPAA0AAAABAAAAAAARAA4AAAABAAEAAAARAA8AAAABAAEAAAAOAAUAAAAAAAQAAAAPAAUAAAAJAAEAAAAPAAQAAAAAAAAAAAAQAAQAAAABAAAAAAARAAQAAAACAAAAAAASAAUAAAACAAAAAAASAAYAAAACAAIAAAARAAYAAAABAAIAAAAQAAYAAAABAAIAAAAPAAYAAAAAAAIAAAAQAAUAAAABAAEAAAARAAUAAAAGAAEAAAANAAkAAAABAAEAAAAMAAgAAAABAAAAAAALAAcAAAAEAAAAAAAKAAYAAAAEAAQAAAAHAAcAAAAPAAQAAAAIAAcAAAAQAAMAAAAIAAgAAAAPAAQAAAAJAAgAAAAKAAMAAAAKAAgAAAABAAAAAAAKAAkAAAAHAAAAAAAKAAoAAAAAAAIAAAAQAAkAAAACAAAAAAAPAAkAAAABAAAAAAAOAAkAAAAGAAEAAAAOAAgAAAACAAAAAAANAAgAAAABAAAAAAALAAgAAAAJAAAAAAAMAAkAAAABAAEAAAALAAkAAAABAAEAAAAJAAkAAAAAAAIAAAAMAAoAAAABAAIAAAANAAoAAAABAAIAAAAOAAoAAAABAAIAAAAPAAoAAAABAAIAAAAQAAoAAAACAAIAAAALAAoAAAABAAIAAAAJAA0AAAABAAAAAAAJAA4AAAAHAAAAAAAJABAAAAAAAAIAAAAHAA8AAAACAAEAAAAGAA8AAAABAAEAAAADAA8AAAABAAEAAAACAA8AAAABAAEAAAABAA8AAAABAAEAAAAAABAAAAAAAAEAAAAAABEAAAAAAAIAAAABABEAAAAHAAAAAAABABAAAAABAAEAAAABABIAAAAAAAEAAAABABMAAAAAAAEAAAACABMAAAABAAEAAAAAAAoAAAAPAAMAAAAAAAsAAAAEAAEAAAAAAAwAAAAEAAEAAAADAAoAAAAKAAQAAAACAAoAAAABAAQAAAABAAoAAAABAAQAAAADAA0AAAABAAAAAAACAA0AAAABAAAAAAABAA0AAAABAAAAAAAAAA4AAAAHAAEAAAD//w4AAAAAAAAAAAD//w8AAAAAAAIAAAAAAA8AAAAHAAAAAAACAA4AAAABAAEAAAAEAA0AAAABAAAAAAAEAA4AAAABAAEAAAADAA4AAAABAAEAAAAHAA4AAAAGAAAAAAAIAA4AAAABAAIAAAAIAA0AAAABAAAAAAAFAAsAAAAEAAIAAAAVAAIAAAAEAAAAAAAVAAMAAAAPAAQAAAAWAAMAAAAQAAMAAAAWAAQAAAAEAAEAAAAWAAUAAAAEAAEAAAAWAAYAAAAEAAEAAAAWAAcAAAAEAAEAAAAWAAgAAAAEAAEAAAAWAAkAAAAEAAEAAAAWAAoAAAAEAAIAAAAWABYAAAAEAAQAAAATAA4AAAACAAQAAAAUAA8AAAAAAAQAAAAVAA8AAAAQAAMAAAAVABAAAAAEAAIAAAAWABMAAAAEAAAAAAAWABQAAAAMAAQAAAAFAA0AAAABAAAAAAAGAA0AAAABAAAAAAAHAA0AAAABAAAAAAAAAA0AAAAGAAQAAAAFAA4AAAABAAEAAAABAA4AAAABAAEAAAAGAA4AAAABAAEAAAAQABQAAAABAAQAAAARABQAAAABAAQAAAASABQAAAABAAQAAAATABQAAAABAAQAAAAUABQAAAABAAQAAAAVABQAAAABAAQAAAAXABQAAAABAAQAAAAYABQAAAABAAQAAAAZABQAAAABAAQAAAAaABQAAAABAAQAAAAbABQAAAABAAQAAAAcABQAAAABAAQAAAAdABQAAAABAAQAAAAeABQAAAABAAQAAAAfABQAAAACAAQAAAAPABQAAAABAAQAAAAOABQAAAABAAQAAAANABQAAAABAAQAAAAMABQAAAABAAQAAAALABQAAAABAAQAAAAKABQAAAABAAQAAAAJABQAAAABAAQAAAAIABQAAAABAAQAAAAHABQAAAABAAQAAAAGABQAAAAJAAQAAAAFABQAAAABAAIAAAAEABQAAAABAAIAAAADABQAAAABAAIAAAACABQAAAABAAIAAAABABQAAAAKAAQAAAAAABQAAAABAAQAAAD//xQAAAABAAQAAAD+/xQAAAABAAQAAAD9/xQAAAABAAQAAAD8/xQAAAABAAQAAAD7/xQAAAABAAQAAAD6/xQAAAAAAAQAAAAMAAwAAgAAAAAAAAAPAAwAAgAAAAAAAAAVAA4AAgAAAAAAAAAaABMAAgAAAAAAAAAIABMAAgAAAAAAAAAHAAwAAgAAAAAAAAATABMAAgAAAAAAAAARABMAAQAAAAEAAAARABIAAQAAAAAAAAAeABMAAQAAAAEAAAAeABIAAQAAAAAAAAA=")
tile_set = SubResource("TileSet_gee14")
[node name="crate" parent="." instance=ExtResource("7_a114e")]
position = Vector2(272, -97)
[node name="world-boundary" type="StaticBody2D" parent="."]
position = Vector2(488, 761)
metadata/_edit_group_ = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="world-boundary"]
shape = SubResource("WorldBoundaryShape2D_8cj0n")
[node name="Player" parent="." instance=ExtResource("8_y1e0c")]
position = Vector2(210, 92)
[node name="crate2" parent="." instance=ExtResource("7_a114e")]
position = Vector2(170, -30)
[node name="crate3" parent="." instance=ExtResource("7_a114e")]
position = Vector2(446, -170)
[node name="crate4" parent="." instance=ExtResource("7_a114e")]
position = Vector2(274, -216)
[node name="triggers" type="Node2D" parent="."]
[node name="player_hurt" parent="triggers" instance=ExtResource("9_s4dsi")]
position = Vector2(1106, 604)
[node name="coins" type="Node" parent="."]
[node name="coin" parent="coins" instance=ExtResource("10_07lh1")]
position = Vector2(287, 115)
[node name="coin2" parent="coins" instance=ExtResource("10_07lh1")]
position = Vector2(287, 188)
[node name="coin3" parent="coins" instance=ExtResource("10_07lh1")]
position = Vector2(435, 238)
[node name="coin4" parent="coins" instance=ExtResource("10_07lh1")]
position = Vector2(595, 397)
[node name="coin5" parent="coins" instance=ExtResource("10_07lh1")]
position = Vector2(45, 300)
[node name="coin6" parent="coins" instance=ExtResource("10_07lh1")]
position = Vector2(701, 461)
[node name="crate5" parent="." instance=ExtResource("7_a114e")]
position = Vector2(101, 405)
[connection signal="areaTriggerSignal" from="triggers/player_hurt" to="." method="_on_area_2d_area_trigger_signal"]

71
scenes/slime.tscn Normal file
View File

@ -0,0 +1,71 @@
[gd_scene load_steps=9 format=3 uid="uid://dlcwgmi2phvf0"]
[ext_resource type="Texture2D" uid="uid://ck04qn64ivj65" path="res://assets/graphics/enemies/slime_purple.png" id="1_371uh"]
[ext_resource type="Script" uid="uid://dh168hjmye0c2" path="res://scripts/slime.gd" id="1_p2gj0"]
[sub_resource type="CircleShape2D" id="CircleShape2D_srws1"]
radius = 8.0
[sub_resource type="AtlasTexture" id="AtlasTexture_p2gj0"]
atlas = ExtResource("1_371uh")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_n6pvg"]
atlas = ExtResource("1_371uh")
region = Rect2(24, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_pjw23"]
atlas = ExtResource("1_371uh")
region = Rect2(48, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_2npkn"]
atlas = ExtResource("1_371uh")
region = Rect2(72, 24, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_fd6lc"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_p2gj0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n6pvg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pjw23")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2npkn")
}],
"loop": true,
"name": &"default",
"speed": 12.0
}]
[node name="Slime" type="Area2D"]
script = ExtResource("1_p2gj0")
[node name="SlimeCollision" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_srws1")
debug_color = Color(0.965557, 2.31028e-06, 0.485965, 0.42)
[node name="SlimeSprite" type="AnimatedSprite2D" parent="."]
texture_filter = 1
position = Vector2(0, -5)
sprite_frames = SubResource("SpriteFrames_fd6lc")
autoplay = "default"
frame_progress = 0.0978275
[node name="LeftCast" type="RayCast2D" parent="."]
target_position = Vector2(-13, 0)
[node name="LeftCliffCast" type="RayCast2D" parent="."]
target_position = Vector2(-16, 13)
[node name="RightCliffCast" type="RayCast2D" parent="."]
target_position = Vector2(15, 12)
[node name="RightCast" type="RayCast2D" parent="."]
target_position = Vector2(13, 0)
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@ -1,6 +1,44 @@
extends Node2D
signal playerDamage
signal destroySignal(body)
signal levelChangeSignal(level: String)
var coinCount : int = 0
var score:int = 0
var timer = Timer.new()
var timeAvailable:int = 5
var levels = [
"res://scenes/game.tscn",
"res://scenes/level2.tscn",
"res://scenes/level3.tscn"
]
var timers = [30, 50, 30]
var currentLevel: int = 0
var enemy: CharacterStats
var playerStats: CharacterStats
func _ready():
enemy = load("res://scripts/resources/slimeStats.tres")
playerStats = load("res://scripts/resources/playerStats.tres")
add_child(timer)
timer.wait_time = 1
timer.one_shot = false
timer.connect("timeout", secondCounter)
timer.start()
timeAvailable = timers[currentLevel]
func secondCounter():
timeAvailable -= 1
print("second")
if timeAvailable <= 0:
print("dead")
levelChangeSignal.emit(levels[currentLevel])
Gamecontroller.reset()
func _on_area_2d_area_trigger_signal(effect: String, body: Node2D) -> void:
if body.name == "world-boundary":
@ -21,4 +59,25 @@ func bulletDamage(target: Node2D, bullet: Node2D):
bullet.visible = false
func coin_collected(coin: Coin):
coin.queue_free()
#coin.queue_free()
destroySignal.emit(coin)
score += 1
coinCount -= 1
if coinCount == 0:
currentLevel = (currentLevel + 1) % len(levels)
levelChangeSignal.emit(levels[currentLevel])
print("Win!")
func totalCoinCount(count: int):
print("count is "+ str(count))
coinCount = count
func reset():
score = 0
timeAvailable = timers[currentLevel]
func playerAttacked(body, slime):
playerStats.health -= enemy.meleDamage
print("enemy did " + str(enemy.meleDamage) + " damage, player has " + str(playerStats.health) + " health")
print("GC knows slime attacked")

View File

@ -0,0 +1,8 @@
class_name CharacterStats extends Resource
@export var health: float = 100.0
@export var max_health: float = 100.0
@export var starting_health: float = 100.0
@export var meleDamage: float = 10
@export var rangeDamage: float = 0

View File

@ -0,0 +1 @@
uid://1inibslv874a

View File

@ -0,0 +1,12 @@
[gd_resource type="Resource" script_class="CharacterStats" load_steps=2 format=3 uid="uid://rc5t6lf31v5e"]
[ext_resource type="Script" uid="uid://1inibslv874a" path="res://scripts/resources/characterstats.gd" id="1_tsub5"]
[resource]
script = ExtResource("1_tsub5")
health = 100.0
max_health = 100.0
starting_health = 100.0
meleDamage = 10.0
rangeDamage = 0.0
metadata/_custom_type_script = "uid://1inibslv874a"

View File

@ -0,0 +1,12 @@
[gd_resource type="Resource" script_class="CharacterStats" load_steps=2 format=3 uid="uid://deddwp54e2uu5"]
[ext_resource type="Script" uid="uid://1inibslv874a" path="res://scripts/resources/characterstats.gd" id="1_v5vo6"]
[resource]
script = ExtResource("1_v5vo6")
health = 100.0
max_health = 100.0
starting_health = 100.0
meleDamage = 10.0
rangeDamage = 0.0
metadata/_custom_type_script = "uid://1inibslv874a"

View File

@ -1,9 +1,9 @@
class_name SceneManager extends Node2D
const BulletScn = preload("res://scenes/bullet.tscn")
@onready var game: Node2D = $".."
@onready var triggers: Node2D = $"../triggers"
@onready var coins: Node = $"../coins"
@onready var enemies: Node = $"../Enemies"
var bullets: Array[Bullet] = []
const MAX_BULLETS = 10
@ -13,18 +13,40 @@ func _ready() -> void:
if triggers:
for obj in triggers.get_children():
if obj is Trigger:
obj.areaTriggerSignal.connect(game._on_area_2d_area_trigger_signal)
obj.areaTriggerSignal.connect(Gamecontroller._on_area_2d_area_trigger_signal)
if coins:
for obj in coins.get_children():
if obj is Coin:
obj.coin_collected.connect(game.coin_collected)
updateCoins()
if enemies:
updateEnemies()
Gamecontroller.destroySignal.connect(destroy)
Gamecontroller.levelChangeSignal.connect(changeScene)
func updateEnemies():
for obj in enemies.get_children():
if obj is Slime:
if !obj.slimeAttacked.is_connected(Gamecontroller.playerAttacked):
obj.slimeAttacked.connect(Gamecontroller.playerAttacked)
func updateCoins():
var coinCount: int = 0
for obj in coins.get_children():
if obj is Coin:
if not obj.coin_collected.is_connected(Gamecontroller.coin_collected):
obj.coin_collected.connect(Gamecontroller.coin_collected)
# connect tree exit
if not obj.tree_exited.is_connected(updateCoins):
obj.tree_exited.connect(updateCoins)
coinCount += 1
Gamecontroller.totalCoinCount(coinCount)
# makes and recycles bullets
func bulletFactory() -> Bullet:
if len(bullets) < MAX_BULLETS:
# create new
var b = BulletScn.instantiate()
b.bulletDamageSignal.connect(game.bulletDamage)
b.bulletDamageSignal.connect(Gamecontroller.bulletDamage)
add_child(b)
bullets.append(b)
return b
@ -35,6 +57,8 @@ func bulletFactory() -> Bullet:
bullets[i].visible = true
return bullets[i]
func destroy(body):
body.queue_free()
func makeBullet(pos: Transform2D, dir: int) -> Node2D:
var b = bulletFactory()
@ -42,3 +66,6 @@ func makeBullet(pos: Transform2D, dir: int) -> Node2D:
b.transform = pos
b.setSpeed(dir * 700)
return b
func changeScene(level: String):
get_tree().call_deferred("change_scene_to_file", level)

39
scripts/slime.gd Normal file
View File

@ -0,0 +1,39 @@
class_name Slime extends Area2D
@onready var left_cast: RayCast2D = $LeftCast
@onready var left_cliff_cast: RayCast2D = $LeftCliffCast
@onready var right_cast: RayCast2D = $RightCast
@onready var right_cliff_cast: RayCast2D = $RightCliffCast
@onready var slime_sprite: AnimatedSprite2D = $SlimeSprite
@export var direction: int = -1
@export var speed: float = 100
signal slimeAttacked(body, slime)
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
func cast_is_colliding(cast: RayCast2D) -> bool:
return cast.is_colliding() && cast.get_collider() is not Player
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
position.x += direction * speed * delta
if cast_is_colliding(left_cast) && direction == -1:
direction = 1
elif cast_is_colliding(right_cast) && direction == 1:
direction = -1
elif direction == -1 && !cast_is_colliding(left_cliff_cast):
direction = 1
elif direction == 1 && !cast_is_colliding(right_cliff_cast):
direction = -1
slime_sprite.flip_h = direction == -1
func _on_body_entered(body: Node2D) -> void:
if body is Player:
print("slime attack!")
slimeAttacked.emit(body, self)

1
scripts/slime.gd.uid Normal file
View File

@ -0,0 +1 @@
uid://dh168hjmye0c2