Week 5: multi-levels, collectibles, enemies, started player damage
This commit is contained in:
parent
c358c54487
commit
94ad4f45cc
BIN
assets/graphics/collectibles/coin.png
Normal file
BIN
assets/graphics/collectibles/coin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 500 B |
34
assets/graphics/collectibles/coin.png.import
Normal file
34
assets/graphics/collectibles/coin.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b3y3el5roo4i8"
|
||||
path="res://.godot/imported/coin.png-20c0ec177f21de2ef8f2f0e70fa6fe8a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/collectibles/coin.png"
|
||||
dest_files=["res://.godot/imported/coin.png-20c0ec177f21de2ef8f2f0e70fa6fe8a.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
|
BIN
assets/graphics/enemies/slime_green.png
Normal file
BIN
assets/graphics/enemies/slime_green.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 908 B |
34
assets/graphics/enemies/slime_green.png.import
Normal file
34
assets/graphics/enemies/slime_green.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cn1jvyyvb3g3c"
|
||||
path="res://.godot/imported/slime_green.png-5261ffd1254c816fe62b35227a9aa11d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/enemies/slime_green.png"
|
||||
dest_files=["res://.godot/imported/slime_green.png-5261ffd1254c816fe62b35227a9aa11d.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
|
@ -15,6 +15,10 @@ run/main_scene="res://scenes/game.tscn"
|
||||
config/features=PackedStringArray("4.4", "Forward Plus")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
Gamecontroller="*res://scripts/gamecontroller.gd"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=320
|
||||
|
114
scenes/coin.tscn
Normal file
114
scenes/coin.tscn
Normal file
@ -0,0 +1,114 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://dn4tjgue768y1"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cwfj4njnlumvy" path="res://scripts/coin.gd" id="1_i64fm"]
|
||||
[ext_resource type="Texture2D" uid="uid://b3y3el5roo4i8" path="res://assets/graphics/collectibles/coin.png" id="1_rwqht"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i64fm"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_11l1o"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_d14el"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1ikuy"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wnlwo"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(64, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jig8b"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(80, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xmuha"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(96, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kfxoj"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(112, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jsmju"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(128, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s0mny"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(144, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7cc30"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(160, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rojmm"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(176, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ls27i"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i64fm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_11l1o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_d14el")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1ikuy")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wnlwo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jig8b")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xmuha")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kfxoj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jsmju")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s0mny")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7cc30")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rojmm")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 12.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_rwqht"]
|
||||
radius = 5.0
|
||||
|
||||
[node name="Area2D" type="Area2D"]
|
||||
script = ExtResource("1_i64fm")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
sprite_frames = SubResource("SpriteFrames_ls27i")
|
||||
autoplay = "default"
|
||||
frame = 8
|
||||
frame_progress = 0.53278
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_rwqht")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
@ -1,6 +1,5 @@
|
||||
[gd_scene load_steps=18 format=4 uid="uid://bvs868ncmeoj5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dtod1rsvbxyti" path="res://gamecontroller.gd" id="1_lnu2h"]
|
||||
[ext_resource type="Script" uid="uid://bijvpac45v6s1" path="res://scripts/scene_manager.gd" id="2_lbhrr"]
|
||||
[ext_resource type="PackedScene" uid="uid://c5a5u2c250g6" path="res://scenes/player.tscn" id="2_lnu2h"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsw50wv55u4rt" path="res://assets/graphics/terrain/vegetation/mushroom_32x64.png" id="3_0tnpc"]
|
||||
@ -10,8 +9,9 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cksofegwut4ew" path="res://assets/graphics/backgrounds/forestbackground_mid.png" id="4_kvpfn"]
|
||||
[ext_resource type="Texture2D" uid="uid://dryfguqeab0p8" path="res://assets/graphics/terrain/vegetation/veg_32x32.png" id="4_vtaks"]
|
||||
[ext_resource type="Texture2D" uid="uid://c3uh4ikl0sd3c" path="res://assets/graphics/backgrounds/forestbackground_front.png" id="5_dinhu"]
|
||||
[ext_resource type="PackedScene" uid="uid://cy02yf4v8q5v6" path="res://scenes/bullet.tscn" id="6_p57ef"]
|
||||
[ext_resource type="Texture2D" uid="uid://qp10yhvkchdb" path="res://assets/graphics/terrain/Terrain (32x32).png" id="7_u5sy4"]
|
||||
[ext_resource type="PackedScene" uid="uid://dn4tjgue768y1" path="res://scenes/coin.tscn" id="11_kvpfn"]
|
||||
[ext_resource type="PackedScene" uid="uid://b2lq6rp0aht6d" path="res://scenes/slime.tscn" id="12_dinhu"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
|
||||
texture = ExtResource("7_u5sy4")
|
||||
@ -385,7 +385,6 @@ sources/2 = SubResource("TileSetAtlasSource_dinhu")
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_uwrxv"]
|
||||
|
||||
[node name="Game" type="Node2D"]
|
||||
script = ExtResource("1_lnu2h")
|
||||
|
||||
[node name="SceneManager" type="Node" parent="."]
|
||||
unique_name_in_owner = true
|
||||
@ -408,6 +407,7 @@ texture = ExtResource("4_kvpfn")
|
||||
|
||||
[node name="Parallax2D3" type="Parallax2D" parent="."]
|
||||
scroll_scale = Vector2(0.5, 0.5)
|
||||
scroll_offset = Vector2(-159, -35)
|
||||
repeat_size = Vector2(320, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D3"]
|
||||
@ -416,13 +416,18 @@ texture = ExtResource("5_dinhu")
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="."]
|
||||
texture_filter = 1
|
||||
tile_map_data = PackedByteArray("AAAPAAMAAAAEAAQAAAACAAEAAAAEAAAAAAACAAIAAAAEAAEAAAACAAMAAAAEAAEAAAACAAQAAAAEAAEAAAACAAUAAAAEAAEAAAACAAYAAAAEAAEAAAACAAcAAAAEAAEAAAACAAgAAAAEAAEAAAACAAkAAAAEAAIAAAAeAAYAAAAAAAQAAAAfAAYAAAABAAQAAAAgAAYAAAABAAQAAAAhAAYAAAABAAQAAAAiAAYAAAABAAQAAAAjAAYAAAABAAQAAAAkAAYAAAABAAQAAAAlAAYAAAABAAQAAAAmAAYAAAACAAQAAAAFABAAAAAGAAEAAAAFAA8AAAACAAEAAAAFAA4AAAACAAEAAAAFAA0AAAACAAEAAAAFAAwAAAACAAEAAAAFAAsAAAACAAAAAAAEABAAAAAGAAAAAAAEAA8AAAAGAAAAAAAEAA4AAAAGAAAAAAAEAA0AAAAGAAAAAAAEAAwAAAAGAAAAAAAEAAsAAAABAAAAAAADABAAAAAGAAAAAAADAA8AAAAHAAAAAAADAA4AAAAGAAAAAAADAA0AAAAGAAAAAAADAAwAAAAGAAAAAAADAAsAAAABAAAAAAACABAAAAAGAAAAAAACAA8AAAAGAAAAAAACAA4AAAAGAAAAAAACAA0AAAAGAAAAAAACAAwAAAAGAAAAAAACAAsAAAABAAAAAAABABAAAAAHAAEAAAABAA8AAAAAAAEAAAABAA4AAAAAAAEAAAABAA0AAAAAAAEAAAABAAwAAAAAAAEAAAABAAsAAAAAAAAAAAAjAAsAAAACAAIAAAAjAAoAAAACAAEAAAAjAAkAAAACAAAAAAAiAAsAAAABAAIAAAAiAAoAAAAGAAAAAAAiAAkAAAABAAAAAAAhAAsAAAAAAAIAAAAhAAoAAAAAAAEAAAAhAAkAAAAAAAAAAAAiAAIAAAACAAIAAAAiAAEAAAACAAAAAAAhAAIAAAAAAAIAAAAhAAEAAAAAAAAAAAABAAoAAgAAAAAAAAADAAoAAgAAAAAAAAAFAAoAAgAAAAAAAAACAAAAAgAAAAAAAAAeAAUAAgAAAAAAAAAfAAUAAgAAAAAAAAAgAAUAAgAAAAAAAAAhAAUAAgAAAAAAAAAUAA8AAgAAAAAAAAAVAA8AAgAAAAAAAAAWAA8AAgAAAAAAAAAXAA8AAgAAAAAAAAAYAA8AAgAAAAAAAAAZAA8AAgAAAAAAAAAMAA8AAgAAAAAAAAAOAA8AAQAAAAEAAAAOAA4AAQAAAAAAAAANAA8AAgAAAAAAAAAKAA8AAQAAAAEAAAAKAA4AAQAAAAAAAAAhAAgAAgAAAAAAAAAiAAgAAQAAAAEAAAAiAAcAAQAAAAAAAAAGABAAAAABAAAAAAAHABAAAAABAAAAAAAIABAAAAABAAAAAAAJABAAAAABAAAAAAAKABAAAAABAAAAAAALABAAAAABAAAAAAAMABAAAAABAAAAAAANABAAAAABAAAAAAAOABAAAAABAAAAAAAPABAAAAABAAAAAAAQABAAAAABAAAAAAARABAAAAABAAAAAAASABAAAAABAAAAAAATABAAAAABAAAAAAAUABAAAAABAAAAAAAVABAAAAABAAAAAAAWABAAAAABAAAAAAAXABAAAAABAAAAAAAYABAAAAABAAAAAAAZABAAAAABAAAAAAAaABAAAAABAAAAAAAbABAAAAABAAAAAAAcABAAAAABAAAAAAAdABAAAAABAAAAAAAeABAAAAABAAAAAAAfABAAAAABAAAAAAAgABAAAAABAAAAAAAhABAAAAABAAAAAAAiABAAAAABAAAAAAAjABAAAAABAAAAAAAkABAAAAABAAAAAAAlABAAAAABAAAAAAAmABAAAAABAAAAAAAnABAAAAABAAAAAAAoABAAAAABAAAAAAD//xAAAAAAAAQAAAAAABAAAAAKAAMAAAAqABAAAAABAAQAAAApABAAAAAJAAMAAAArABAAAAACAAQAAAAAABEAAAAAAAIAAAABABEAAAABAAIAAAACABEAAAABAAIAAAADABEAAAABAAIAAAAEABEAAAABAAIAAAAFABEAAAABAAIAAAAGABEAAAABAAIAAAAHABEAAAABAAIAAAAIABEAAAABAAIAAAAJABEAAAABAAIAAAAKABEAAAABAAIAAAALABEAAAABAAIAAAAMABEAAAABAAIAAAANABEAAAABAAIAAAAOABEAAAABAAIAAAAPABEAAAABAAIAAAAQABEAAAABAAIAAAARABEAAAABAAIAAAASABEAAAABAAIAAAATABEAAAABAAIAAAAUABEAAAABAAIAAAAVABEAAAABAAIAAAAWABEAAAABAAIAAAAXABEAAAABAAIAAAAYABEAAAABAAIAAAAZABEAAAABAAIAAAAaABEAAAABAAIAAAAbABEAAAABAAIAAAAcABEAAAABAAIAAAAdABEAAAABAAIAAAAeABEAAAABAAIAAAAfABEAAAABAAIAAAAgABEAAAABAAIAAAAhABEAAAABAAIAAAAiABEAAAABAAIAAAAjABEAAAABAAIAAAAkABEAAAABAAIAAAAlABEAAAABAAIAAAAmABEAAAABAAIAAAAnABEAAAABAAIAAAAoABEAAAABAAIAAAApABEAAAACAAIAAAA=")
|
||||
position = Vector2(12, 26)
|
||||
tile_map_data = PackedByteArray("AAAPAAMAAAABAAQAAAACAAEAAAAEAAAAAAACAAIAAAAEAAEAAAACAAMAAAAEAAEAAAACAAQAAAAEAAEAAAACAAUAAAAEAAEAAAACAAYAAAAEAAEAAAACAAcAAAAEAAEAAAACAAgAAAAEAAEAAAACAAkAAAAEAAIAAAAeAAYAAAAAAAQAAAAfAAYAAAABAAQAAAAgAAYAAAABAAQAAAAhAAYAAAABAAQAAAAiAAYAAAABAAQAAAAjAAYAAAABAAQAAAAkAAYAAAABAAQAAAAlAAYAAAABAAQAAAAmAAYAAAACAAQAAAAFABAAAAAGAAEAAAAFAA8AAAACAAEAAAAFAA4AAAACAAEAAAAFAA0AAAACAAEAAAAFAAwAAAACAAEAAAAFAAsAAAACAAAAAAAEABAAAAAGAAAAAAAEAA8AAAAGAAAAAAAEAA4AAAAGAAAAAAAEAA0AAAAGAAAAAAAEAAwAAAAGAAAAAAAEAAsAAAABAAAAAAADABAAAAAGAAAAAAADAA8AAAAHAAAAAAADAA4AAAAGAAAAAAADAA0AAAAGAAAAAAADAAwAAAAGAAAAAAADAAsAAAABAAAAAAACABAAAAAGAAAAAAACAA8AAAAGAAAAAAACAA4AAAAGAAAAAAACAA0AAAAGAAAAAAACAAwAAAAGAAAAAAACAAsAAAABAAAAAAABABAAAAAHAAEAAAABAA8AAAAAAAEAAAABAA4AAAAAAAEAAAABAA0AAAAAAAEAAAABAAwAAAAAAAEAAAABAAsAAAAAAAAAAAAjAAsAAAACAAIAAAAjAAoAAAACAAEAAAAjAAkAAAACAAAAAAAiAAsAAAABAAIAAAAiAAoAAAAGAAAAAAAiAAkAAAABAAAAAAAhAAsAAAAAAAIAAAAhAAoAAAAAAAEAAAAhAAkAAAAAAAAAAAAiAAIAAAACAAIAAAAiAAEAAAACAAAAAAAhAAIAAAAAAAIAAAAhAAEAAAAAAAAAAAABAAoAAgAAAAAAAAADAAoAAgAAAAAAAAAFAAoAAgAAAAAAAAACAAAAAgAAAAAAAAAeAAUAAgAAAAAAAAAfAAUAAgAAAAAAAAAgAAUAAgAAAAAAAAAhAAUAAgAAAAAAAAAUAA8AAgAAAAAAAAAVAA8AAgAAAAAAAAAWAA8AAgAAAAAAAAAXAA8AAgAAAAAAAAAYAA8AAgAAAAAAAAAZAA8AAgAAAAAAAAAMAA8AAgAAAAAAAAAOAA8AAQAAAAEAAAAOAA4AAQAAAAAAAAANAA8AAgAAAAAAAAAKAA8AAQAAAAEAAAAKAA4AAQAAAAAAAAAhAAgAAgAAAAAAAAAiAAgAAQAAAAEAAAAiAAcAAQAAAAAAAAAGABAAAAABAAAAAAAHABAAAAABAAAAAAAIABAAAAABAAAAAAAJABAAAAABAAAAAAAKABAAAAABAAAAAAALABAAAAABAAAAAAAMABAAAAABAAAAAAANABAAAAABAAAAAAAOABAAAAABAAAAAAAPABAAAAABAAAAAAAQABAAAAABAAAAAAARABAAAAABAAAAAAASABAAAAABAAAAAAATABAAAAABAAAAAAAUABAAAAABAAAAAAAVABAAAAABAAAAAAAWABAAAAABAAAAAAAXABAAAAABAAAAAAAYABAAAAABAAAAAAAZABAAAAABAAAAAAAaABAAAAABAAAAAAAbABAAAAABAAAAAAAcABAAAAABAAAAAAAdABAAAAABAAAAAAAeABAAAAABAAAAAAAfABAAAAABAAAAAAAgABAAAAABAAAAAAAhABAAAAABAAAAAAAiABAAAAABAAAAAAAjABAAAAABAAAAAAAkABAAAAABAAAAAAAlABAAAAABAAAAAAAmABAAAAABAAAAAAAnABAAAAABAAAAAAAoABAAAAABAAAAAAD//xAAAAAAAAQAAAAAABAAAAAKAAMAAAAqABAAAAABAAQAAAApABAAAAAJAAMAAAArABAAAAACAAQAAAAAABEAAAAAAAIAAAABABEAAAABAAIAAAACABEAAAABAAIAAAADABEAAAABAAIAAAAEABEAAAABAAIAAAAFABEAAAABAAIAAAAGABEAAAABAAIAAAAHABEAAAABAAIAAAAIABEAAAABAAIAAAAJABEAAAABAAIAAAAKABEAAAABAAIAAAALABEAAAABAAIAAAAMABEAAAABAAIAAAANABEAAAABAAIAAAAOABEAAAABAAIAAAAPABEAAAABAAIAAAAQABEAAAABAAIAAAARABEAAAABAAIAAAASABEAAAABAAIAAAATABEAAAABAAIAAAAUABEAAAABAAIAAAAVABEAAAABAAIAAAAWABEAAAABAAIAAAAXABEAAAABAAIAAAAYABEAAAABAAIAAAAZABEAAAABAAIAAAAaABEAAAABAAIAAAAbABEAAAABAAIAAAAcABEAAAABAAIAAAAdABEAAAABAAIAAAAeABEAAAABAAIAAAAfABEAAAABAAIAAAAgABEAAAABAAIAAAAhABEAAAABAAIAAAAiABEAAAABAAIAAAAjABEAAAABAAIAAAAkABEAAAABAAIAAAAlABEAAAABAAIAAAAmABEAAAABAAIAAAAnABEAAAABAAIAAAAoABEAAAABAAIAAAApABEAAAACAAIAAAANAAMAAAAAAAQAAAAOAAMAAAAMAAQAAAAQAAMAAAABAAQAAAARAAMAAAACAAQAAAATAAMAAAAAAAQAAAAUAAMAAAANAAQAAAAUAAIAAAAEAAAAAAAUAAQAAAAEAAEAAAAUAAUAAAAEAAEAAAAUAAYAAAAEAAEAAAAUAAcAAAAMAAQAAAATAAcAAAAAAAQAAAAVAAcAAAACAAQAAAAOAAIAAAAEAAAAAAA=")
|
||||
tile_set = SubResource("TileSet_0tnpc")
|
||||
|
||||
[node name="CharacterBody2D" parent="." instance=ExtResource("2_lnu2h")]
|
||||
position = Vector2(489, 45)
|
||||
bump_power = 50.0
|
||||
|
||||
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."]
|
||||
energy = 0.24
|
||||
blend_mode = 1
|
||||
|
||||
[node name="Level" type="Node2D" parent="."]
|
||||
|
||||
[node name="Floor" type="StaticBody2D" parent="Level"]
|
||||
@ -435,35 +440,44 @@ shape = SubResource("WorldBoundaryShape2D_uwrxv")
|
||||
[node name="Crates" type="Node2D" parent="."]
|
||||
|
||||
[node name="Crate 0" parent="Crates" instance=ExtResource("4_iywne")]
|
||||
position = Vector2(580, 158)
|
||||
position = Vector2(747, 344)
|
||||
|
||||
[node name="Crate 1" parent="Crates" instance=ExtResource("4_iywne")]
|
||||
position = Vector2(256, 226)
|
||||
position = Vector2(790, 252)
|
||||
rotation = -0.544367
|
||||
|
||||
[node name="Crate 2" parent="Crates" instance=ExtResource("4_iywne")]
|
||||
position = Vector2(792, 60)
|
||||
position = Vector2(479, 408)
|
||||
rotation = -0.536401
|
||||
|
||||
[node name="Triggers" type="Node2D" parent="."]
|
||||
|
||||
[node name="Trigger" parent="Triggers" instance=ExtResource("3_lnu2h")]
|
||||
position = Vector2(254, 406)
|
||||
position = Vector2(304, 408)
|
||||
|
||||
[node name="Trigger2" parent="Triggers" instance=ExtResource("3_lnu2h")]
|
||||
position = Vector2(790, 190)
|
||||
position = Vector2(648, 412)
|
||||
effect = "destroy"
|
||||
|
||||
[node name="Trigger3" parent="Triggers" instance=ExtResource("3_lnu2h")]
|
||||
position = Vector2(582, 414)
|
||||
position = Vector2(333, 223)
|
||||
effect = "elaborate"
|
||||
|
||||
[node name="Area2D" parent="." instance=ExtResource("6_p57ef")]
|
||||
position = Vector2(887.175, 161.841)
|
||||
[node name="Coins" type="Node2D" parent="."]
|
||||
|
||||
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."]
|
||||
energy = 0.24
|
||||
blend_mode = 1
|
||||
[node name="c0" parent="Coins" instance=ExtResource("11_kvpfn")]
|
||||
position = Vector2(390, 71)
|
||||
|
||||
[node name="c1" parent="Coins" instance=ExtResource("11_kvpfn")]
|
||||
position = Vector2(391, 92)
|
||||
|
||||
[node name="Enemies" type="Node2D" parent="."]
|
||||
|
||||
[node name="e1" parent="Enemies" instance=ExtResource("12_dinhu")]
|
||||
position = Vector2(376, 525)
|
||||
|
||||
[node name="e2" parent="Enemies" instance=ExtResource("12_dinhu")]
|
||||
position = Vector2(536, 110)
|
||||
|
||||
[connection signal="triggerFired" from="Triggers/Trigger" to="." method="_on_trigger_trigger_fired"]
|
||||
[connection signal="triggerFired" from="Triggers/Trigger2" to="." method="_on_trigger_trigger_fired"]
|
||||
|
477
scenes/level2.tscn
Normal file
477
scenes/level2.tscn
Normal file
@ -0,0 +1,477 @@
|
||||
[gd_scene load_steps=18 format=4 uid="uid://dbm4jt4pwlufy"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bijvpac45v6s1" path="res://scripts/scene_manager.gd" id="1_76toy"]
|
||||
[ext_resource type="Texture2D" uid="uid://7vhrmqf5wt1t" path="res://assets/graphics/backgrounds/sky.png" id="2_8g4ke"]
|
||||
[ext_resource type="Texture2D" uid="uid://cksofegwut4ew" path="res://assets/graphics/backgrounds/forestbackground_mid.png" id="3_56gwk"]
|
||||
[ext_resource type="Texture2D" uid="uid://c3uh4ikl0sd3c" path="res://assets/graphics/backgrounds/forestbackground_front.png" id="4_ve5ok"]
|
||||
[ext_resource type="Texture2D" uid="uid://qp10yhvkchdb" path="res://assets/graphics/terrain/Terrain (32x32).png" id="5_cleqw"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsw50wv55u4rt" path="res://assets/graphics/terrain/vegetation/mushroom_32x64.png" id="6_wvb8j"]
|
||||
[ext_resource type="Texture2D" uid="uid://dryfguqeab0p8" path="res://assets/graphics/terrain/vegetation/veg_32x32.png" id="7_g8vcy"]
|
||||
[ext_resource type="PackedScene" uid="uid://c5a5u2c250g6" path="res://scenes/player.tscn" id="8_cqal4"]
|
||||
[ext_resource type="PackedScene" uid="uid://ch3ncwkrhv38n" path="res://scenes/crate.tscn" id="9_o3sye"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgbqoys4mm8j" path="res://scenes/trigger.tscn" id="10_24ks5"]
|
||||
[ext_resource type="PackedScene" uid="uid://dn4tjgue768y1" path="res://scenes/coin.tscn" id="11_8g4ke"]
|
||||
[ext_resource type="PackedScene" uid="uid://cy02yf4v8q5v6" path="res://scenes/bullet.tscn" id="11_s4es8"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
|
||||
texture = ExtResource("5_cleqw")
|
||||
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
|
||||
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, -16, 16)
|
||||
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, 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/terrains_peering_bit/left_side = 0
|
||||
16:4/0/terrains_peering_bit/top_side = 0
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kvpfn"]
|
||||
texture = ExtResource("6_wvb8j")
|
||||
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="TileSetAtlasSource" id="TileSetAtlasSource_dinhu"]
|
||||
texture = ExtResource("7_g8vcy")
|
||||
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_0tnpc"]
|
||||
tile_size = Vector2i(32, 32)
|
||||
physics_layer_0/collision_layer = 1
|
||||
terrain_set_0/mode = 0
|
||||
terrain_set_0/terrain_0/name = "LeafyRocks 0"
|
||||
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_gee14")
|
||||
sources/1 = SubResource("TileSetAtlasSource_kvpfn")
|
||||
sources/2 = SubResource("TileSetAtlasSource_dinhu")
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_uwrxv"]
|
||||
|
||||
[node name="Game" type="Node2D"]
|
||||
|
||||
[node name="SceneManager" type="Node" parent="."]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("1_76toy")
|
||||
|
||||
[node name="Parallax2D" type="Parallax2D" parent="."]
|
||||
repeat_size = Vector2(320, 180)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D"]
|
||||
position = Vector2(160, 90)
|
||||
texture = ExtResource("2_8g4ke")
|
||||
|
||||
[node name="Parallax2D2" type="Parallax2D" parent="."]
|
||||
scroll_scale = Vector2(0.5, 0.5)
|
||||
repeat_size = Vector2(320, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D2"]
|
||||
position = Vector2(160, 410)
|
||||
texture = ExtResource("3_56gwk")
|
||||
|
||||
[node name="Parallax2D3" type="Parallax2D" parent="."]
|
||||
scroll_scale = Vector2(0.5, 0.5)
|
||||
repeat_size = Vector2(320, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D3"]
|
||||
position = Vector2(160, 325)
|
||||
texture = ExtResource("4_ve5ok")
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="."]
|
||||
texture_filter = 1
|
||||
tile_map_data = PackedByteArray("AAAPAAMAAAAEAAQAAAACAAEAAAAEAAAAAAACAAIAAAAEAAEAAAACAAMAAAAEAAEAAAACAAQAAAAEAAEAAAACAAUAAAAEAAEAAAACAAYAAAAEAAEAAAACAAcAAAAEAAEAAAACAAgAAAAEAAEAAAACAAkAAAAEAAIAAAAeAAYAAAAAAAQAAAAfAAYAAAABAAQAAAAgAAYAAAABAAQAAAAhAAYAAAABAAQAAAAiAAYAAAABAAQAAAAjAAYAAAABAAQAAAAkAAYAAAABAAQAAAAlAAYAAAABAAQAAAAmAAYAAAACAAQAAAAFABAAAAAGAAEAAAAFAA8AAAACAAEAAAAFAA4AAAACAAEAAAAFAA0AAAACAAEAAAAFAAwAAAACAAEAAAAFAAsAAAACAAAAAAAEABAAAAAGAAAAAAAEAA8AAAAGAAAAAAAEAA4AAAAGAAAAAAAEAA0AAAAGAAAAAAAEAAwAAAAGAAAAAAAEAAsAAAABAAAAAAADABAAAAAGAAAAAAADAA8AAAAHAAAAAAADAA4AAAAGAAAAAAADAA0AAAAGAAAAAAADAAwAAAAGAAAAAAADAAsAAAABAAAAAAACABAAAAAGAAAAAAACAA8AAAAGAAAAAAACAA4AAAAGAAAAAAACAA0AAAAGAAAAAAACAAwAAAAGAAAAAAACAAsAAAABAAAAAAABABAAAAAHAAEAAAABAA8AAAAAAAEAAAABAA4AAAAAAAEAAAABAA0AAAAAAAEAAAABAAwAAAAAAAEAAAABAAsAAAAAAAAAAAAjAAsAAAACAAIAAAAjAAoAAAACAAEAAAAjAAkAAAACAAAAAAAiAAsAAAABAAIAAAAiAAoAAAAGAAAAAAAiAAkAAAABAAAAAAAhAAsAAAAAAAIAAAAhAAoAAAAAAAEAAAAhAAkAAAAAAAAAAAAiAAIAAAACAAIAAAAiAAEAAAACAAAAAAAhAAIAAAAAAAIAAAAhAAEAAAAAAAAAAAABAAoAAgAAAAAAAAADAAoAAgAAAAAAAAAFAAoAAgAAAAAAAAACAAAAAgAAAAAAAAAeAAUAAgAAAAAAAAAfAAUAAgAAAAAAAAAgAAUAAgAAAAAAAAAhAAUAAgAAAAAAAAAUAA8AAgAAAAAAAAAVAA8AAgAAAAAAAAAWAA8AAgAAAAAAAAAXAA8AAgAAAAAAAAAYAA8AAgAAAAAAAAAZAA8AAgAAAAAAAAAMAA8AAgAAAAAAAAAOAA8AAQAAAAEAAAAOAA4AAQAAAAAAAAANAA8AAgAAAAAAAAAKAA8AAQAAAAEAAAAKAA4AAQAAAAAAAAAhAAgAAgAAAAAAAAAiAAgAAQAAAAEAAAAiAAcAAQAAAAAAAAAGABAAAAABAAAAAAAHABAAAAABAAAAAAAIABAAAAABAAAAAAAJABAAAAABAAAAAAAKABAAAAABAAAAAAALABAAAAABAAAAAAAMABAAAAABAAAAAAANABAAAAABAAAAAAAOABAAAAABAAAAAAAPABAAAAABAAAAAAAQABAAAAABAAAAAAARABAAAAABAAAAAAASABAAAAABAAAAAAATABAAAAABAAAAAAAUABAAAAABAAAAAAAVABAAAAABAAAAAAAWABAAAAABAAAAAAAXABAAAAABAAAAAAAYABAAAAABAAAAAAAZABAAAAABAAAAAAAaABAAAAABAAAAAAAbABAAAAABAAAAAAAcABAAAAABAAAAAAAdABAAAAABAAAAAAAeABAAAAABAAAAAAAfABAAAAABAAAAAAAgABAAAAABAAAAAAAhABAAAAABAAAAAAAiABAAAAABAAAAAAAjABAAAAABAAAAAAAkABAAAAABAAAAAAAlABAAAAABAAAAAAAmABAAAAABAAAAAAAnABAAAAABAAAAAAAoABAAAAABAAAAAAD//xAAAAAAAAQAAAAAABAAAAAKAAMAAAAqABAAAAABAAQAAAApABAAAAAJAAMAAAArABAAAAACAAQAAAAAABEAAAAAAAIAAAABABEAAAABAAIAAAACABEAAAABAAIAAAADABEAAAABAAIAAAAEABEAAAABAAIAAAAFABEAAAABAAIAAAAGABEAAAABAAIAAAAHABEAAAABAAIAAAAIABEAAAABAAIAAAAJABEAAAABAAIAAAAKABEAAAABAAIAAAALABEAAAABAAIAAAAMABEAAAABAAIAAAANABEAAAABAAIAAAAOABEAAAABAAIAAAAPABEAAAABAAIAAAAQABEAAAABAAIAAAARABEAAAABAAIAAAASABEAAAABAAIAAAATABEAAAABAAIAAAAUABEAAAABAAIAAAAVABEAAAABAAIAAAAWABEAAAABAAIAAAAXABEAAAABAAIAAAAYABEAAAABAAIAAAAZABEAAAABAAIAAAAaABEAAAABAAIAAAAbABEAAAABAAIAAAAcABEAAAABAAIAAAAdABEAAAABAAIAAAAeABEAAAABAAIAAAAfABEAAAABAAIAAAAgABEAAAABAAIAAAAhABEAAAABAAIAAAAiABEAAAABAAIAAAAjABEAAAABAAIAAAAkABEAAAABAAIAAAAlABEAAAABAAIAAAAmABEAAAABAAIAAAAnABEAAAABAAIAAAAoABEAAAABAAIAAAApABEAAAACAAIAAAASAP//AAAAAAQAAAATAP//AAABAAQAAAAUAP//AAAQAAMAAAAUAAAAAAAEAAEAAAAUAAEAAAAQAAQAAAATAAEAAAABAAQAAAASAAEAAAAPAAMAAAASAAIAAAAEAAEAAAASAAMAAAAPAAQAAAATAAMAAAABAAQAAAAUAAMAAAACAAQAAAA=")
|
||||
tile_set = SubResource("TileSet_0tnpc")
|
||||
|
||||
[node name="CharacterBody2D" parent="." instance=ExtResource("8_cqal4")]
|
||||
position = Vector2(489, 45)
|
||||
bump_power = 50.0
|
||||
|
||||
[node name="Level" type="Node2D" parent="."]
|
||||
|
||||
[node name="Floor" type="StaticBody2D" parent="Level"]
|
||||
position = Vector2(564, 515)
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Level/Floor"]
|
||||
shape = SubResource("WorldBoundaryShape2D_uwrxv")
|
||||
|
||||
[node name="Crates" type="Node2D" parent="."]
|
||||
|
||||
[node name="Crate 0" parent="Crates" instance=ExtResource("9_o3sye")]
|
||||
position = Vector2(580, 158)
|
||||
|
||||
[node name="Crate 1" parent="Crates" instance=ExtResource("9_o3sye")]
|
||||
position = Vector2(256, 226)
|
||||
rotation = -0.544367
|
||||
|
||||
[node name="Crate 2" parent="Crates" instance=ExtResource("9_o3sye")]
|
||||
position = Vector2(792, 60)
|
||||
rotation = -0.536401
|
||||
|
||||
[node name="Triggers" type="Node2D" parent="."]
|
||||
|
||||
[node name="Trigger" parent="Triggers" instance=ExtResource("10_24ks5")]
|
||||
position = Vector2(254, 406)
|
||||
|
||||
[node name="Trigger2" parent="Triggers" instance=ExtResource("10_24ks5")]
|
||||
position = Vector2(790, 190)
|
||||
effect = "destroy"
|
||||
|
||||
[node name="Trigger3" parent="Triggers" instance=ExtResource("10_24ks5")]
|
||||
position = Vector2(582, 414)
|
||||
effect = "elaborate"
|
||||
|
||||
[node name="Coins" type="Node2D" parent="."]
|
||||
|
||||
[node name="c0" parent="Coins" instance=ExtResource("11_8g4ke")]
|
||||
position = Vector2(390, 71)
|
||||
|
||||
[node name="c1" parent="Coins" instance=ExtResource("11_8g4ke")]
|
||||
position = Vector2(391, 92)
|
||||
|
||||
[node name="Area2D" parent="." instance=ExtResource("11_s4es8")]
|
||||
position = Vector2(887.175, 161.841)
|
||||
|
||||
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."]
|
||||
energy = 0.24
|
||||
blend_mode = 1
|
||||
|
||||
[connection signal="triggerFired" from="Triggers/Trigger" to="." method="_on_trigger_trigger_fired"]
|
||||
[connection signal="triggerFired" from="Triggers/Trigger2" to="." method="_on_trigger_trigger_fired"]
|
||||
[connection signal="triggerFired" from="Triggers/Trigger3" to="." method="_on_trigger_trigger_fired"]
|
489
scenes/level3.tscn
Normal file
489
scenes/level3.tscn
Normal file
@ -0,0 +1,489 @@
|
||||
[gd_scene load_steps=18 format=4 uid="uid://ddikbueco8a32"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bijvpac45v6s1" path="res://scripts/scene_manager.gd" id="1_fh4ka"]
|
||||
[ext_resource type="Texture2D" uid="uid://7vhrmqf5wt1t" path="res://assets/graphics/backgrounds/sky.png" id="2_qewby"]
|
||||
[ext_resource type="Texture2D" uid="uid://cksofegwut4ew" path="res://assets/graphics/backgrounds/forestbackground_mid.png" id="3_bradm"]
|
||||
[ext_resource type="Texture2D" uid="uid://c3uh4ikl0sd3c" path="res://assets/graphics/backgrounds/forestbackground_front.png" id="4_got4s"]
|
||||
[ext_resource type="Texture2D" uid="uid://qp10yhvkchdb" path="res://assets/graphics/terrain/Terrain (32x32).png" id="5_e40mx"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsw50wv55u4rt" path="res://assets/graphics/terrain/vegetation/mushroom_32x64.png" id="6_a114e"]
|
||||
[ext_resource type="Texture2D" uid="uid://dryfguqeab0p8" path="res://assets/graphics/terrain/vegetation/veg_32x32.png" id="7_y1e0c"]
|
||||
[ext_resource type="PackedScene" uid="uid://c5a5u2c250g6" path="res://scenes/player.tscn" id="8_s4dsi"]
|
||||
[ext_resource type="PackedScene" uid="uid://ch3ncwkrhv38n" path="res://scenes/crate.tscn" id="9_07lh1"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgbqoys4mm8j" path="res://scenes/trigger.tscn" id="10_6uuvf"]
|
||||
[ext_resource type="PackedScene" uid="uid://dn4tjgue768y1" path="res://scenes/coin.tscn" id="11_qewby"]
|
||||
[ext_resource type="PackedScene" uid="uid://cy02yf4v8q5v6" path="res://scenes/bullet.tscn" id="11_x008a"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
|
||||
texture = ExtResource("5_e40mx")
|
||||
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
|
||||
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, -16, 16)
|
||||
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, 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/terrains_peering_bit/left_side = 0
|
||||
16:4/0/terrains_peering_bit/top_side = 0
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kvpfn"]
|
||||
texture = ExtResource("6_a114e")
|
||||
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="TileSetAtlasSource" id="TileSetAtlasSource_dinhu"]
|
||||
texture = ExtResource("7_y1e0c")
|
||||
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_0tnpc"]
|
||||
tile_size = Vector2i(32, 32)
|
||||
physics_layer_0/collision_layer = 1
|
||||
terrain_set_0/mode = 0
|
||||
terrain_set_0/terrain_0/name = "LeafyRocks 0"
|
||||
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_gee14")
|
||||
sources/1 = SubResource("TileSetAtlasSource_kvpfn")
|
||||
sources/2 = SubResource("TileSetAtlasSource_dinhu")
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_uwrxv"]
|
||||
|
||||
[node name="Game" type="Node2D"]
|
||||
|
||||
[node name="SceneManager" type="Node" parent="."]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("1_fh4ka")
|
||||
|
||||
[node name="Parallax2D" type="Parallax2D" parent="."]
|
||||
repeat_size = Vector2(320, 180)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D"]
|
||||
position = Vector2(160, 90)
|
||||
texture = ExtResource("2_qewby")
|
||||
|
||||
[node name="Parallax2D2" type="Parallax2D" parent="."]
|
||||
scroll_scale = Vector2(0.5, 0.5)
|
||||
repeat_size = Vector2(320, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D2"]
|
||||
position = Vector2(160, 410)
|
||||
texture = ExtResource("3_bradm")
|
||||
|
||||
[node name="Parallax2D3" type="Parallax2D" parent="."]
|
||||
scroll_scale = Vector2(0.5, 0.5)
|
||||
repeat_size = Vector2(320, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Parallax2D3"]
|
||||
position = Vector2(160, 325)
|
||||
texture = ExtResource("4_got4s")
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="."]
|
||||
texture_filter = 1
|
||||
tile_map_data = PackedByteArray("AAAPAAMAAAAEAAQAAAACAAEAAAAEAAAAAAACAAIAAAAEAAEAAAACAAMAAAAEAAEAAAACAAQAAAAEAAEAAAACAAUAAAAEAAEAAAACAAYAAAAEAAEAAAACAAcAAAAEAAEAAAACAAgAAAAEAAEAAAACAAkAAAAEAAIAAAAeAAYAAAAAAAQAAAAfAAYAAAABAAQAAAAgAAYAAAABAAQAAAAhAAYAAAABAAQAAAAiAAYAAAABAAQAAAAjAAYAAAABAAQAAAAkAAYAAAABAAQAAAAlAAYAAAABAAQAAAAmAAYAAAACAAQAAAAFABAAAAAGAAEAAAAFAA8AAAACAAEAAAAFAA4AAAACAAEAAAAFAA0AAAACAAEAAAAFAAwAAAACAAEAAAAFAAsAAAACAAAAAAAEABAAAAAGAAAAAAAEAA8AAAAGAAAAAAAEAA4AAAAGAAAAAAAEAA0AAAAGAAAAAAAEAAwAAAAGAAAAAAAEAAsAAAABAAAAAAADABAAAAAGAAAAAAADAA8AAAAHAAAAAAADAA4AAAAGAAAAAAADAA0AAAAGAAAAAAADAAwAAAAGAAAAAAADAAsAAAABAAAAAAACABAAAAAGAAAAAAACAA8AAAAGAAAAAAACAA4AAAAGAAAAAAACAA0AAAAGAAAAAAACAAwAAAAGAAAAAAACAAsAAAABAAAAAAABABAAAAAHAAEAAAABAA8AAAAAAAEAAAABAA4AAAAAAAEAAAABAA0AAAAAAAEAAAABAAwAAAAAAAEAAAABAAsAAAAAAAAAAAAjAAsAAAACAAIAAAAjAAoAAAACAAEAAAAjAAkAAAACAAAAAAAiAAsAAAABAAIAAAAiAAoAAAAGAAAAAAAiAAkAAAABAAAAAAAhAAsAAAAAAAIAAAAhAAoAAAAAAAEAAAAhAAkAAAAAAAAAAAAiAAIAAAACAAIAAAAiAAEAAAACAAAAAAAhAAIAAAAAAAIAAAAhAAEAAAAAAAAAAAABAAoAAgAAAAAAAAADAAoAAgAAAAAAAAAFAAoAAgAAAAAAAAACAAAAAgAAAAAAAAAeAAUAAgAAAAAAAAAfAAUAAgAAAAAAAAAgAAUAAgAAAAAAAAAhAAUAAgAAAAAAAAAUAA8AAgAAAAAAAAAVAA8AAgAAAAAAAAAWAA8AAgAAAAAAAAAXAA8AAgAAAAAAAAAYAA8AAgAAAAAAAAAZAA8AAgAAAAAAAAAMAA8AAgAAAAAAAAAOAA8AAQAAAAEAAAAOAA4AAQAAAAAAAAANAA8AAgAAAAAAAAAKAA8AAQAAAAEAAAAKAA4AAQAAAAAAAAAhAAgAAgAAAAAAAAAiAAgAAQAAAAEAAAAiAAcAAQAAAAAAAAAGABAAAAABAAAAAAAHABAAAAABAAAAAAAIABAAAAABAAAAAAAJABAAAAABAAAAAAAKABAAAAABAAAAAAALABAAAAABAAAAAAAMABAAAAABAAAAAAANABAAAAABAAAAAAAOABAAAAABAAAAAAAPABAAAAABAAAAAAAQABAAAAABAAAAAAARABAAAAABAAAAAAASABAAAAABAAAAAAATABAAAAABAAAAAAAUABAAAAABAAAAAAAVABAAAAABAAAAAAAWABAAAAABAAAAAAAXABAAAAABAAAAAAAYABAAAAABAAAAAAAZABAAAAABAAAAAAAaABAAAAABAAAAAAAbABAAAAABAAAAAAAcABAAAAABAAAAAAAdABAAAAABAAAAAAAeABAAAAABAAAAAAAfABAAAAABAAAAAAAgABAAAAABAAAAAAAhABAAAAABAAAAAAAiABAAAAABAAAAAAAjABAAAAABAAAAAAAkABAAAAABAAAAAAAlABAAAAABAAAAAAAmABAAAAABAAAAAAAnABAAAAABAAAAAAAoABAAAAABAAAAAAD//xAAAAAAAAQAAAAAABAAAAAKAAMAAAAqABAAAAABAAQAAAApABAAAAAJAAMAAAArABAAAAACAAQAAAAAABEAAAAAAAIAAAABABEAAAABAAIAAAACABEAAAABAAIAAAADABEAAAABAAIAAAAEABEAAAABAAIAAAAFABEAAAABAAIAAAAGABEAAAABAAIAAAAHABEAAAABAAIAAAAIABEAAAABAAIAAAAJABEAAAABAAIAAAAKABEAAAABAAIAAAALABEAAAABAAIAAAAMABEAAAABAAIAAAANABEAAAABAAIAAAAOABEAAAABAAIAAAAPABEAAAABAAIAAAAQABEAAAABAAIAAAARABEAAAABAAIAAAASABEAAAABAAIAAAATABEAAAABAAIAAAAUABEAAAABAAIAAAAVABEAAAABAAIAAAAWABEAAAABAAIAAAAXABEAAAABAAIAAAAYABEAAAABAAIAAAAZABEAAAABAAIAAAAaABEAAAABAAIAAAAbABEAAAABAAIAAAAcABEAAAABAAIAAAAdABEAAAABAAIAAAAeABEAAAABAAIAAAAfABEAAAABAAIAAAAgABEAAAABAAIAAAAhABEAAAABAAIAAAAiABEAAAABAAIAAAAjABEAAAABAAIAAAAkABEAAAABAAIAAAAlABEAAAABAAIAAAAmABEAAAABAAIAAAAnABEAAAABAAIAAAAoABEAAAABAAIAAAApABEAAAACAAIAAAASAP7/AAAAAAQAAAATAP7/AAABAAQAAAAUAP7/AAAQAAMAAAAUAP//AAAEAAEAAAAUAAAAAAANAAQAAAATAAAAAAABAAQAAAASAAAAAAAAAAQAAAAUAAEAAAAEAAEAAAAUAAIAAAAEAAEAAAAUAAMAAAAQAAQAAAATAAMAAAABAAQAAAASAAMAAAAAAAQAAAA=")
|
||||
tile_set = SubResource("TileSet_0tnpc")
|
||||
|
||||
[node name="CharacterBody2D" parent="." instance=ExtResource("8_s4dsi")]
|
||||
position = Vector2(489, 45)
|
||||
bump_power = 50.0
|
||||
|
||||
[node name="Level" type="Node2D" parent="."]
|
||||
|
||||
[node name="Floor" type="StaticBody2D" parent="Level"]
|
||||
position = Vector2(564, 515)
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Level/Floor"]
|
||||
shape = SubResource("WorldBoundaryShape2D_uwrxv")
|
||||
|
||||
[node name="Crates" type="Node2D" parent="."]
|
||||
|
||||
[node name="Crate 0" parent="Crates" instance=ExtResource("9_07lh1")]
|
||||
position = Vector2(580, 158)
|
||||
|
||||
[node name="Crate 1" parent="Crates" instance=ExtResource("9_07lh1")]
|
||||
position = Vector2(256, 226)
|
||||
rotation = -0.544367
|
||||
|
||||
[node name="Crate 2" parent="Crates" instance=ExtResource("9_07lh1")]
|
||||
position = Vector2(792, 60)
|
||||
rotation = -0.536401
|
||||
|
||||
[node name="Triggers" type="Node2D" parent="."]
|
||||
|
||||
[node name="Trigger" parent="Triggers" instance=ExtResource("10_6uuvf")]
|
||||
position = Vector2(254, 406)
|
||||
|
||||
[node name="Trigger2" parent="Triggers" instance=ExtResource("10_6uuvf")]
|
||||
position = Vector2(790, 190)
|
||||
effect = "destroy"
|
||||
|
||||
[node name="Trigger3" parent="Triggers" instance=ExtResource("10_6uuvf")]
|
||||
position = Vector2(582, 414)
|
||||
effect = "elaborate"
|
||||
|
||||
[node name="Coins" type="Node2D" parent="."]
|
||||
|
||||
[node name="c0" parent="Coins" instance=ExtResource("11_qewby")]
|
||||
position = Vector2(382, 58)
|
||||
|
||||
[node name="c1" parent="Coins" instance=ExtResource("11_qewby")]
|
||||
position = Vector2(409, 101)
|
||||
|
||||
[node name="c2" parent="Coins" instance=ExtResource("11_qewby")]
|
||||
position = Vector2(359, 100)
|
||||
|
||||
[node name="c3" parent="Coins" instance=ExtResource("11_qewby")]
|
||||
position = Vector2(383, 111)
|
||||
|
||||
[node name="c4" parent="Coins" instance=ExtResource("11_qewby")]
|
||||
position = Vector2(358, 72)
|
||||
|
||||
[node name="c5" parent="Coins" instance=ExtResource("11_qewby")]
|
||||
position = Vector2(406, 72)
|
||||
|
||||
[node name="Area2D" parent="." instance=ExtResource("11_x008a")]
|
||||
position = Vector2(887.175, 161.841)
|
||||
|
||||
[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."]
|
||||
energy = 0.24
|
||||
blend_mode = 1
|
||||
|
||||
[connection signal="triggerFired" from="Triggers/Trigger" to="." method="_on_trigger_trigger_fired"]
|
||||
[connection signal="triggerFired" from="Triggers/Trigger2" to="." method="_on_trigger_trigger_fired"]
|
||||
[connection signal="triggerFired" from="Triggers/Trigger3" to="." method="_on_trigger_trigger_fired"]
|
75
scenes/slime.tscn
Normal file
75
scenes/slime.tscn
Normal file
@ -0,0 +1,75 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://b2lq6rp0aht6d"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cn1jvyyvb3g3c" path="res://assets/graphics/enemies/slime_green.png" id="1_371uh"]
|
||||
[ext_resource type="Script" uid="uid://bsmcx4pr1imsq" path="res://scripts/slime.gd" id="1_p2gj0"]
|
||||
|
||||
[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": &"run",
|
||||
"speed": 12.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_371uh"]
|
||||
size = Vector2(16, 16)
|
||||
|
||||
[node name="Area2D" type="Area2D"]
|
||||
script = ExtResource("1_p2gj0")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
sprite_frames = SubResource("SpriteFrames_fd6lc")
|
||||
animation = &"run"
|
||||
autoplay = "run"
|
||||
frame_progress = 0.256611
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, 4)
|
||||
shape = SubResource("RectangleShape2D_371uh")
|
||||
|
||||
[node name="RightSideCast" type="RayCast2D" parent="."]
|
||||
position = Vector2(0, -1)
|
||||
target_position = Vector2(14, 0)
|
||||
|
||||
[node name="LeftSideCast" type="RayCast2D" parent="."]
|
||||
position = Vector2(0, -1)
|
||||
target_position = Vector2(-14, 0)
|
||||
|
||||
[node name="RightDownCast" type="RayCast2D" parent="."]
|
||||
position = Vector2(6, -3)
|
||||
target_position = Vector2(0, 19)
|
||||
|
||||
[node name="LeftDownCast" type="RayCast2D" parent="."]
|
||||
position = Vector2(-6, -3)
|
||||
target_position = Vector2(0, 19)
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
7
scripts/coin.gd
Normal file
7
scripts/coin.gd
Normal file
@ -0,0 +1,7 @@
|
||||
class_name Coin extends Area2D
|
||||
|
||||
signal coinCollectedSignal(body, coin)
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
print("coin collision!")
|
||||
coinCollectedSignal.emit(body, self)
|
1
scripts/coin.gd.uid
Normal file
1
scripts/coin.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://cwfj4njnlumvy
|
81
scripts/gamecontroller.gd
Normal file
81
scripts/gamecontroller.gd
Normal file
@ -0,0 +1,81 @@
|
||||
class_name GameController extends Node2D
|
||||
|
||||
var totalCrates = 3
|
||||
var timeLimit = 10
|
||||
var timer = Timer.new()
|
||||
|
||||
var coinsCollectedTotal := 0
|
||||
|
||||
var levels = ["res://scenes/game.tscn", "res://scenes/level2.tscn", "res://scenes/level3.tscn"]
|
||||
var timers = [30, 15, 25]
|
||||
var currentLevel = 0
|
||||
|
||||
var playerHealth = 100
|
||||
|
||||
signal levelCompleteSignal(level)
|
||||
signal destroySignal(body)
|
||||
signal playerDamage
|
||||
signal playerDeath
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
add_child(timer)
|
||||
timer.wait_time = 1
|
||||
timer.one_shot = false
|
||||
timer.connect("timeout", secondCounter)
|
||||
timer.start()
|
||||
|
||||
func secondCounter():
|
||||
print("tick "+str(timeLimit))
|
||||
timeLimit -= 1
|
||||
if timeLimit <= 0:
|
||||
print("YOU LOSE...")
|
||||
levelCompleteSignal.emit(levels[currentLevel])
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
if totalCrates == 0:
|
||||
print("YOU WIN!")
|
||||
currentLevel += 1
|
||||
if currentLevel >= levels.size():
|
||||
currentLevel = 0
|
||||
levelCompleteSignal.emit(levels[currentLevel])
|
||||
|
||||
func _on_trigger_fired(effect: Variant, body: Variant) -> void:
|
||||
print("GameController know about trigger " + effect)
|
||||
if effect == "destroy":
|
||||
if body is Crate:
|
||||
print("Crates remaining: " + str(totalCrates))
|
||||
destroySignal.emit(body)
|
||||
|
||||
func _on_coin_collected(body, coin):
|
||||
coinsCollectedTotal += 1
|
||||
destroySignal.emit(coin)
|
||||
print("GC knows coin collected")
|
||||
|
||||
func _on_player_damage(body, enemy):
|
||||
if enemy is Slime:
|
||||
print("slime attack!")
|
||||
playerHealth -= 10
|
||||
if playerHealth > 0:
|
||||
print("Player damaged")
|
||||
playerDamage.emit()
|
||||
else:
|
||||
print("Player dead")
|
||||
playerDeath.emit()
|
||||
|
||||
func numberOfCrates(value:int)->void:
|
||||
totalCrates = value
|
||||
|
||||
func bulletDamage(body, bullet):
|
||||
if body is Crate:
|
||||
print("Crates remaining: " + str(totalCrates))
|
||||
destroySignal.emit(body)
|
||||
|
||||
func reset():
|
||||
timeLimit = timers[currentLevel]
|
||||
playerHealth = 100
|
||||
|
||||
func death():
|
||||
print("player death animation complete")
|
||||
|
1
scripts/gamecontroller.gd.uid
Normal file
1
scripts/gamecontroller.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://dtod1rsvbxyti
|
@ -30,6 +30,14 @@ var pushTarget: RigidBody2D
|
||||
var pushEnable: bool = false
|
||||
var upJump: bool = false
|
||||
|
||||
signal deathComplete
|
||||
|
||||
func _player_damage():
|
||||
print("Player taking damage!")
|
||||
|
||||
func _player_death():
|
||||
print("Player dead!!!")
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
# Add the gravity.
|
||||
if current_state == State.JUMP:
|
||||
@ -137,21 +145,21 @@ func handle_collisions() -> void:
|
||||
for i in get_slide_collision_count():
|
||||
var c = get_slide_collision(i)
|
||||
if c.get_collider() is RigidBody2D:
|
||||
c.get_collider().apply_central_impulse(-c.get_normal() * bump_power)
|
||||
c.get_collider().apply_central_impulse(-c.get_normal() * bump_power)
|
||||
|
||||
if right_cast.is_colliding() and facing == FaceDirection.RIGHT:
|
||||
print("Right raycast hitting something")
|
||||
#print("Right raycast hitting something")
|
||||
var collider = right_cast.get_collider()
|
||||
if collider is Node and collider is RigidBody2D:
|
||||
print("I think it's a crate")
|
||||
#print("I think it's a crate")
|
||||
pushTarget = collider
|
||||
pushEnable = true
|
||||
|
||||
if left_cast.is_colliding() and facing == FaceDirection.LEFT:
|
||||
print("Left raycast hitting something")
|
||||
#print("Left raycast hitting something")
|
||||
var collider = left_cast.get_collider()
|
||||
if collider is Node and collider is RigidBody2D:
|
||||
print("I think it's a crate")
|
||||
#print("I think it's a crate")
|
||||
pushTarget = collider
|
||||
pushEnable = true
|
||||
|
||||
|
@ -1,7 +1,10 @@
|
||||
extends Node
|
||||
|
||||
@onready var game: GameController = $".."
|
||||
@onready var crates: Node2D = $"../Crates"
|
||||
@onready var triggers: Node2D = $"../Triggers"
|
||||
@onready var coins: Node2D = $"../Coins"
|
||||
@onready var enemies: Node2D = $"../Enemies"
|
||||
@onready var player: Player = $"../CharacterBody2D"
|
||||
|
||||
var bullet = preload("res://scenes/bullet.tscn")
|
||||
var bulletArray = []
|
||||
@ -18,21 +21,48 @@ func _process(delta: float) -> void:
|
||||
|
||||
|
||||
func buildLevel() -> void:
|
||||
# Reset controller timer
|
||||
Gamecontroller.reset()
|
||||
# tell the game controller
|
||||
Gamecontroller.numberOfCrates(countCrates())
|
||||
# Wire up signals
|
||||
Gamecontroller.levelCompleteSignal.connect(loadLevel)
|
||||
Gamecontroller.destroySignal.connect(destroy)
|
||||
Gamecontroller.playerDamage.connect(player._player_damage)
|
||||
Gamecontroller.playerDeath.connect(player._player_death)
|
||||
# player connection
|
||||
player.deathComplete.connect(Gamecontroller.death)
|
||||
|
||||
# Connect trigger signals
|
||||
if triggers:
|
||||
for obj in triggers.get_children():
|
||||
if obj is Trigger:
|
||||
obj.triggerFired.connect(Gamecontroller._on_trigger_fired)
|
||||
# Connect coin signals
|
||||
if coins:
|
||||
for obj in coins.get_children():
|
||||
if obj is Coin:
|
||||
obj.coinCollectedSignal.connect(Gamecontroller._on_coin_collected)
|
||||
# Connect enemy signals
|
||||
if enemies:
|
||||
for obj in enemies.get_children():
|
||||
if obj is Slime:
|
||||
obj.playerDamageSignal.connect(Gamecontroller._on_player_damage)
|
||||
|
||||
func countCrates()->int:
|
||||
# count crates
|
||||
var totalCrates = 0
|
||||
for obj in crates.get_children():
|
||||
if obj is Crate:
|
||||
totalCrates += 1
|
||||
# tell the game controller
|
||||
game.numberOfCrates(totalCrates)
|
||||
|
||||
return totalCrates
|
||||
|
||||
func bulletFactory():
|
||||
var mybullet
|
||||
if bulletArray.size() < totalAllowedBullets:
|
||||
#new bullet
|
||||
mybullet = bullet.instantiate()
|
||||
mybullet.connect("bulletHit", game.bulletDamage)
|
||||
mybullet.connect("bulletHit", Gamecontroller.bulletDamage)
|
||||
owner.add_child(mybullet)
|
||||
else:
|
||||
#recycled bullet
|
||||
@ -46,3 +76,11 @@ func makeBullet(position, speed):
|
||||
var mybullet = bulletFactory()
|
||||
mybullet.setSpeed(speed)
|
||||
mybullet.transform = position
|
||||
|
||||
func loadLevel(level):
|
||||
get_tree().call_deferred("change_scene_to_file", level)
|
||||
|
||||
func destroy(body):
|
||||
if body is Crate:
|
||||
Gamecontroller.numberOfCrates(countCrates()-1)
|
||||
body.queue_free()
|
||||
|
24
scripts/slime.gd
Normal file
24
scripts/slime.gd
Normal file
@ -0,0 +1,24 @@
|
||||
class_name Slime extends Area2D
|
||||
signal playerDamageSignal(body, slime)
|
||||
|
||||
@onready var right_side_cast: RayCast2D = $RightSideCast
|
||||
@onready var left_side_cast: RayCast2D = $LeftSideCast
|
||||
@onready var right_down_cast: RayCast2D = $RightDownCast
|
||||
@onready var left_down_cast: RayCast2D = $LeftDownCast
|
||||
@onready var sprite: AnimatedSprite2D = $AnimatedSprite2D
|
||||
|
||||
var speed = 100
|
||||
var direction = 1
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if not right_down_cast.is_colliding() or right_side_cast.is_colliding():
|
||||
direction = -1
|
||||
sprite.flip_h = true
|
||||
if not left_down_cast.is_colliding() or left_side_cast.is_colliding():
|
||||
direction = 1
|
||||
sprite.flip_h = false
|
||||
position.x += direction * speed * delta
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
print("Slime Contact")
|
||||
playerDamageSignal.emit(body, self)
|
1
scripts/slime.gd.uid
Normal file
1
scripts/slime.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://bsmcx4pr1imsq
|
@ -1,4 +1,4 @@
|
||||
extends Area2D
|
||||
class_name Trigger extends Area2D
|
||||
|
||||
@export var effect = "destroy"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user