Compare commits

..
2 Commits
18 changed files with 186 additions and 816 deletions

No files matched your search

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

-40
View File
@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpau5jb260ta0"
path="res://.godot/imported/crate.png-b286bd97caa3cbc59746f2db7de46191.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/objects/crate.png"
dest_files=["res://.godot/imported/crate.png-b286bd97caa3cbc59746f2db7de46191.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cjjer1w77c3g3"
path="res://.godot/imported/pixel_bullet.png-30d6d1e8b5e1332f8b2e2cee72a9e790.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/projectiles/pixel_bullet.png"
dest_files=["res://.godot/imported/pixel_bullet.png-30d6d1e8b5e1332f8b2e2cee72a9e790.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://kyooaow1jeaa"
path="res://.godot/imported/Terrain (32x32).png-7361ca574569f6e5ff16ef11d25a8904.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/terrains/Terrain (32x32).png"
dest_files=["res://.godot/imported/Terrain (32x32).png-7361ca574569f6e5ff16ef11d25a8904.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bu8oc3yypgigw"
path="res://.godot/imported/mushroom_32x64.png-b93d4203ab926eaef0444db20603f6d7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/terrains/mushroom_32x64.png"
dest_files=["res://.godot/imported/mushroom_32x64.png-b93d4203ab926eaef0444db20603f6d7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 675 B

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c8jhlduxe8p77"
path="res://.godot/imported/veg_32x32.png-c029688fc25e4703c3489b261b9edb06.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/terrains/veg_32x32.png"
dest_files=["res://.godot/imported/veg_32x32.png-c029688fc25e4703c3489b261b9edb06.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
+1 -25
View File
@@ -17,11 +17,7 @@ config/icon="res://icon.svg"
[display] [display]
window/size/viewport_width=400 window/stretch/mode="canvas_items"
window/size/viewport_height=225
window/size/window_width_override=900
window/size/window_height_override=504
window/stretch/mode="viewport"
window/stretch/aspect="expand" window/stretch/aspect="expand"
[file_customization] [file_customization]
@@ -36,31 +32,11 @@ folder_colors={
shove={ shove={
"deadzone": 0.2, "deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":76,"key_label":0,"unicode":108,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":76,"key_label":0,"unicode":108,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
] ]
} }
shoot={ shoot={
"deadzone": 0.2, "deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":88,"key_label":0,"unicode":120,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":88,"key_label":0,"unicode":120,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
]
}
left={
"deadzone": 0.2,
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":true,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
right={
"deadzone": 0.2,
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":true,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
jump={
"deadzone": 0.2,
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":11,"pressure":0.0,"pressed":true,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
] ]
} }
-8
View File
@@ -1,7 +1,6 @@
[gd_scene format=3 uid="uid://qrewcx81o1xi"] [gd_scene format=3 uid="uid://qrewcx81o1xi"]
[ext_resource type="Script" uid="uid://ryrc3a88d0nh" path="res://scripts/bullet.gd" id="1_mkf8s"] [ext_resource type="Script" uid="uid://ryrc3a88d0nh" path="res://scripts/bullet.gd" id="1_mkf8s"]
[ext_resource type="Texture2D" uid="uid://cjjer1w77c3g3" path="res://assets/graphics/projectiles/pixel_bullet.png" id="2_y25gk"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mvphy"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_mvphy"]
size = Vector2(12, 6) size = Vector2(12, 6)
@@ -14,11 +13,4 @@ metadata/_edit_group_ = true
shape = SubResource("RectangleShape2D_mvphy") shape = SubResource("RectangleShape2D_mvphy")
debug_color = Color(0.9521257, 0.20191753, 0.23529023, 0.41960785) debug_color = Color(0.9521257, 0.20191753, 0.23529023, 0.41960785)
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1732561171]
texture_filter = 1
position = Vector2(-3.9999998, -3)
rotation = 3.1415927
scale = Vector2(0.11, 0.11)
texture = ExtResource("2_y25gk")
[connection signal="body_entered" from="." to="." method="_on_body_entered"] [connection signal="body_entered" from="." to="." method="_on_body_entered"]
-6
View File
@@ -1,7 +1,6 @@
[gd_scene format=3 uid="uid://5xgx7qarkj3o"] [gd_scene format=3 uid="uid://5xgx7qarkj3o"]
[ext_resource type="Script" uid="uid://rp1f47ytyerd" path="res://scripts/crate.gd" id="1_b66cd"] [ext_resource type="Script" uid="uid://rp1f47ytyerd" path="res://scripts/crate.gd" id="1_b66cd"]
[ext_resource type="Texture2D" uid="uid://bpau5jb260ta0" path="res://assets/graphics/objects/crate.png" id="2_dwt0d"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_o7s7a"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_o7s7a"]
@@ -12,8 +11,3 @@ metadata/_edit_group_ = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=536978238] [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=536978238]
shape = SubResource("RectangleShape2D_o7s7a") shape = SubResource("RectangleShape2D_o7s7a")
debug_color = Color(0.8398786, 0.37498713, 0.22887537, 0.41960785) debug_color = Color(0.8398786, 0.37498713, 0.22887537, 0.41960785)
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=611252705]
texture_filter = 1
scale = Vector2(0.07, 0.07)
texture = ExtResource("2_dwt0d")
+7 -395
View File
@@ -1,397 +1,11 @@
[gd_scene format=4 uid="uid://cxa67u8cwsn6x"] [gd_scene format=3 uid="uid://cxa67u8cwsn6x"]
[ext_resource type="Script" uid="uid://ct51411gsine2" path="res://scripts/gamecontroller.gd" id="1_lnu2h"] [ext_resource type="Script" uid="uid://ct51411gsine2" path="res://scripts/gamecontroller.gd" id="1_lnu2h"]
[ext_resource type="Script" uid="uid://dv2q4p6jb8h4s" path="res://scripts/scene_manager.gd" id="2_lbhrr"] [ext_resource type="Script" uid="uid://dv2q4p6jb8h4s" path="res://scripts/scene_manager.gd" id="2_lbhrr"]
[ext_resource type="PackedScene" uid="uid://b22qsgmtr231s" path="res://scenes/trigger.tscn" id="2_lnu2h"] [ext_resource type="PackedScene" uid="uid://b22qsgmtr231s" path="res://scenes/trigger.tscn" id="2_lnu2h"]
[ext_resource type="PackedScene" uid="uid://5xgx7qarkj3o" path="res://scenes/crate.tscn" id="3_iywne"] [ext_resource type="PackedScene" uid="uid://5xgx7qarkj3o" path="res://scenes/crate.tscn" id="3_iywne"]
[ext_resource type="Texture2D" uid="uid://kyooaow1jeaa" path="res://assets/graphics/terrains/Terrain (32x32).png" id="3_p57ef"]
[ext_resource type="Texture2D" uid="uid://c8jhlduxe8p77" path="res://assets/graphics/terrains/veg_32x32.png" id="4_gee14"]
[ext_resource type="PackedScene" uid="uid://dtegcgc8xcxfg" path="res://scenes/player.tscn" id="4_iywne"] [ext_resource type="PackedScene" uid="uid://dtegcgc8xcxfg" path="res://scenes/player.tscn" id="4_iywne"]
[ext_resource type="Texture2D" uid="uid://bu8oc3yypgigw" path="res://assets/graphics/terrains/mushroom_32x64.png" id="5_0tnpc"] [ext_resource type="PackedScene" uid="uid://qrewcx81o1xi" path="res://scenes/bullet.tscn" id="6_p57ef"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u5sy4"]
texture = ExtResource("3_p57ef")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 0
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
0:0/0/terrains_peering_bit/right_side = 0
0:0/0/terrains_peering_bit/bottom_right_corner = 0
0:0/0/terrains_peering_bit/bottom_side = 0
1:0/0 = 0
1:0/0/terrain_set = 0
1:0/0/terrain = 0
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:0/0/terrains_peering_bit/right_side = 0
1:0/0/terrains_peering_bit/bottom_right_corner = 0
1:0/0/terrains_peering_bit/bottom_side = 0
1:0/0/terrains_peering_bit/bottom_left_corner = 0
1:0/0/terrains_peering_bit/left_side = 0
2:0/0 = 0
2:0/0/terrain_set = 0
2:0/0/terrain = 0
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:0/0/terrains_peering_bit/bottom_side = 0
2:0/0/terrains_peering_bit/bottom_left_corner = 0
2:0/0/terrains_peering_bit/left_side = 0
4:0/0 = 0
4:0/0/terrain_set = 0
4:0/0/terrain = 0
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
4:0/0/terrains_peering_bit/bottom_side = 0
6:0/0 = 0
6:0/0/terrain_set = 0
6:0/0/terrain = 0
6:0/0/terrains_peering_bit/right_side = 0
6:0/0/terrains_peering_bit/bottom_side = 0
6:0/0/terrains_peering_bit/bottom_left_corner = 0
6:0/0/terrains_peering_bit/left_side = 0
6:0/0/terrains_peering_bit/top_left_corner = 0
6:0/0/terrains_peering_bit/top_side = 0
6:0/0/terrains_peering_bit/top_right_corner = 0
7:0/0 = 0
7:0/0/terrain_set = 0
7:0/0/terrain = 0
7:0/0/terrains_peering_bit/right_side = 0
7:0/0/terrains_peering_bit/bottom_right_corner = 0
7:0/0/terrains_peering_bit/bottom_side = 0
7:0/0/terrains_peering_bit/left_side = 0
7:0/0/terrains_peering_bit/top_left_corner = 0
7:0/0/terrains_peering_bit/top_side = 0
7:0/0/terrains_peering_bit/top_right_corner = 0
9:0/0 = 0
9:0/0/terrain_set = 0
9:0/0/terrain = 0
9:0/0/terrains_peering_bit/right_side = 0
9:0/0/terrains_peering_bit/bottom_right_corner = 0
9:0/0/terrains_peering_bit/bottom_side = 0
9:0/0/terrains_peering_bit/bottom_left_corner = 0
9:0/0/terrains_peering_bit/left_side = 0
9:0/0/terrains_peering_bit/top_side = 0
10:0/0 = 0
10:0/0/terrain_set = 0
10:0/0/terrain = 0
10:0/0/terrains_peering_bit/right_side = 0
10:0/0/terrains_peering_bit/bottom_side = 0
10:0/0/terrains_peering_bit/bottom_left_corner = 0
10:0/0/terrains_peering_bit/left_side = 0
10:0/0/terrains_peering_bit/top_left_corner = 0
10:0/0/terrains_peering_bit/top_side = 0
12:0/0 = 0
12:0/0/terrain_set = 0
12:0/0/terrain = 0
12:0/0/terrains_peering_bit/right_side = 0
12:0/0/terrains_peering_bit/bottom_right_corner = 0
12:0/0/terrains_peering_bit/bottom_side = 0
12:0/0/terrains_peering_bit/left_side = 0
12:0/0/terrains_peering_bit/top_side = 0
13:0/0 = 0
13:0/0/terrain_set = 0
13:0/0/terrain = 0
13:0/0/terrains_peering_bit/right_side = 0
13:0/0/terrains_peering_bit/bottom_side = 0
13:0/0/terrains_peering_bit/bottom_left_corner = 0
13:0/0/terrains_peering_bit/left_side = 0
13:0/0/terrains_peering_bit/top_side = 0
15:0/0 = 0
15:0/0/terrain_set = 0
15:0/0/terrain = 0
15:0/0/terrains_peering_bit/right_side = 0
15:0/0/terrains_peering_bit/bottom_side = 0
15:0/0/terrains_peering_bit/left_side = 0
15:0/0/terrains_peering_bit/top_side = 0
0:1/0 = 0
0:1/0/terrain_set = 0
0:1/0/terrain = 0
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0.9330139, -16, -16, -16, -16, 16, 1.8660278, 16)
0:1/0/terrains_peering_bit/right_side = 0
0:1/0/terrains_peering_bit/bottom_right_corner = 0
0:1/0/terrains_peering_bit/bottom_side = 0
0:1/0/terrains_peering_bit/top_side = 0
0:1/0/terrains_peering_bit/top_right_corner = 0
1:1/0 = 0
2:1/0 = 0
2:1/0/terrain_set = 0
2:1/0/terrain = 0
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -1.2440224, -16, -0.31100464, 16, 16, 16)
2:1/0/terrains_peering_bit/bottom_side = 0
2:1/0/terrains_peering_bit/bottom_left_corner = 0
2:1/0/terrains_peering_bit/left_side = 0
2:1/0/terrains_peering_bit/top_left_corner = 0
2:1/0/terrains_peering_bit/top_side = 0
4:1/0 = 0
4:1/0/terrain_set = 0
4:1/0/terrain = 0
4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
4:1/0/terrains_peering_bit/bottom_side = 0
4:1/0/terrains_peering_bit/top_side = 0
6:1/0 = 0
6:1/0/terrain_set = 0
6:1/0/terrain = 0
6:1/0/terrains_peering_bit/right_side = 0
6:1/0/terrains_peering_bit/bottom_right_corner = 0
6:1/0/terrains_peering_bit/bottom_side = 0
6:1/0/terrains_peering_bit/bottom_left_corner = 0
6:1/0/terrains_peering_bit/left_side = 0
6:1/0/terrains_peering_bit/top_left_corner = 0
6:1/0/terrains_peering_bit/top_side = 0
7:1/0 = 0
7:1/0/terrain_set = 0
7:1/0/terrain = 0
7:1/0/terrains_peering_bit/right_side = 0
7:1/0/terrains_peering_bit/bottom_right_corner = 0
7:1/0/terrains_peering_bit/bottom_side = 0
7:1/0/terrains_peering_bit/bottom_left_corner = 0
7:1/0/terrains_peering_bit/left_side = 0
7:1/0/terrains_peering_bit/top_side = 0
7:1/0/terrains_peering_bit/top_right_corner = 0
9:1/0 = 0
9:1/0/terrain_set = 0
9:1/0/terrain = 0
9:1/0/terrains_peering_bit/right_side = 0
9:1/0/terrains_peering_bit/bottom_right_corner = 0
9:1/0/terrains_peering_bit/bottom_side = 0
9:1/0/terrains_peering_bit/left_side = 0
9:1/0/terrains_peering_bit/top_side = 0
9:1/0/terrains_peering_bit/top_right_corner = 0
10:1/0 = 0
10:1/0/terrain_set = 0
10:1/0/terrain = 0
10:1/0/terrains_peering_bit/right_side = 0
10:1/0/terrains_peering_bit/bottom_side = 0
10:1/0/terrains_peering_bit/left_side = 0
10:1/0/terrains_peering_bit/top_left_corner = 0
10:1/0/terrains_peering_bit/top_side = 0
10:1/0/terrains_peering_bit/top_right_corner = 0
12:1/0 = 0
12:1/0/terrain_set = 0
12:1/0/terrain = 0
12:1/0/terrains_peering_bit/right_side = 0
12:1/0/terrains_peering_bit/bottom_side = 0
12:1/0/terrains_peering_bit/left_side = 0
12:1/0/terrains_peering_bit/top_side = 0
12:1/0/terrains_peering_bit/top_right_corner = 0
13:1/0 = 0
13:1/0/terrain_set = 0
13:1/0/terrain = 0
13:1/0/terrains_peering_bit/right_side = 0
13:1/0/terrains_peering_bit/bottom_side = 0
13:1/0/terrains_peering_bit/left_side = 0
13:1/0/terrains_peering_bit/top_left_corner = 0
13:1/0/terrains_peering_bit/top_side = 0
15:1/0 = 0
15:1/0/terrain_set = 0
15:1/0/terrain = 0
15:1/0/terrains_peering_bit/right_side = 0
15:1/0/terrains_peering_bit/bottom_side = 0
15:1/0/terrains_peering_bit/bottom_left_corner = 0
15:1/0/terrains_peering_bit/left_side = 0
15:1/0/terrains_peering_bit/top_side = 0
15:1/0/terrains_peering_bit/top_right_corner = 0
16:1/0 = 0
16:1/0/terrain_set = 0
16:1/0/terrain = 0
16:1/0/terrains_peering_bit/right_side = 0
16:1/0/terrains_peering_bit/bottom_right_corner = 0
16:1/0/terrains_peering_bit/bottom_side = 0
16:1/0/terrains_peering_bit/left_side = 0
16:1/0/terrains_peering_bit/top_left_corner = 0
16:1/0/terrains_peering_bit/top_side = 0
0:2/0 = 0
0:2/0/terrain_set = 0
0:2/0/terrain = 0
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -8.086128, 16, -16, 6.842106)
0:2/0/terrains_peering_bit/right_side = 0
0:2/0/terrains_peering_bit/top_side = 0
0:2/0/terrains_peering_bit/top_right_corner = 0
1:2/0 = 0
1:2/0/terrain_set = 0
1:2/0/terrain = 0
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -0.31100464, -16, -0.9330139, -16, 16, 16, 16)
1:2/0/terrains_peering_bit/right_side = 0
1:2/0/terrains_peering_bit/left_side = 0
1:2/0/terrains_peering_bit/top_left_corner = 0
1:2/0/terrains_peering_bit/top_side = 0
1:2/0/terrains_peering_bit/top_right_corner = 0
2:2/0 = 0
2:2/0/terrain_set = 0
2:2/0/terrain = 0
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
2:2/0/terrains_peering_bit/left_side = 0
2:2/0/terrains_peering_bit/top_left_corner = 0
2:2/0/terrains_peering_bit/top_side = 0
4:2/0 = 0
4:2/0/terrain_set = 0
4:2/0/terrain = 0
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
4:2/0/terrains_peering_bit/top_side = 0
6:3/0 = 0
6:3/0/terrain_set = 0
6:3/0/terrain = 0
6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.488037, -16, 2.1770325, 16, -16, 16)
6:3/0/terrains_peering_bit/right_side = 0
6:3/0/terrains_peering_bit/bottom_side = 0
6:3/0/terrains_peering_bit/top_side = 0
6:3/0/terrains_peering_bit/top_right_corner = 0
7:3/0 = 0
7:3/0/terrain_set = 0
7:3/0/terrain = 0
7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 2.488037, -16, 2.1770325, 16, 16, 16)
7:3/0/terrains_peering_bit/bottom_side = 0
7:3/0/terrains_peering_bit/left_side = 0
7:3/0/terrains_peering_bit/top_left_corner = 0
7:3/0/terrains_peering_bit/top_side = 0
9:3/0 = 0
9:3/0/terrain_set = 0
9:3/0/terrain = 0
9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 0, 16, -0.6220093)
9:3/0/terrains_peering_bit/right_side = 0
9:3/0/terrains_peering_bit/bottom_side = 0
9:3/0/terrains_peering_bit/bottom_left_corner = 0
9:3/0/terrains_peering_bit/left_side = 0
10:3/0 = 0
10:3/0/terrain_set = 0
10:3/0/terrain = 0
10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 0, 16, -0.6220093)
10:3/0/terrains_peering_bit/right_side = 0
10:3/0/terrains_peering_bit/bottom_right_corner = 0
10:3/0/terrains_peering_bit/bottom_side = 0
10:3/0/terrains_peering_bit/left_side = 0
12:3/0 = 0
12:3/0/terrain_set = 0
12:3/0/terrain = 0
12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
12:3/0/terrains_peering_bit/right_side = 0
12:3/0/terrains_peering_bit/bottom_side = 0
12:3/0/terrains_peering_bit/top_side = 0
13:3/0 = 0
13:3/0/terrain_set = 0
13:3/0/terrain = 0
13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
13:3/0/terrains_peering_bit/right_side = 0
13:3/0/terrains_peering_bit/bottom_side = 0
13:3/0/terrains_peering_bit/left_side = 0
15:3/0 = 0
15:3/0/terrain_set = 0
15:3/0/terrain = 0
15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
15:3/0/terrains_peering_bit/right_side = 0
15:3/0/terrains_peering_bit/bottom_side = 0
16:3/0 = 0
16:3/0/terrain_set = 0
16:3/0/terrain = 0
16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
16:3/0/terrains_peering_bit/bottom_side = 0
16:3/0/terrains_peering_bit/left_side = 0
0:4/0 = 0
0:4/0/terrain_set = 0
0:4/0/terrain = 0
0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
0:4/0/terrains_peering_bit/right_side = 0
1:4/0 = 0
1:4/0/terrain_set = 0
1:4/0/terrain = 0
1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
1:4/0/terrains_peering_bit/right_side = 0
1:4/0/terrains_peering_bit/left_side = 0
2:4/0 = 0
2:4/0/terrain_set = 0
2:4/0/terrain = 0
2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
2:4/0/terrains_peering_bit/left_side = 0
4:4/0 = 0
4:4/0/terrain_set = 0
4:4/0/terrain = 0
4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
6:4/0 = 0
6:4/0/terrain_set = 0
6:4/0/terrain = 0
6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 2.488037, -16, 2.1770325, 16, -16, 16)
6:4/0/terrains_peering_bit/right_side = 0
6:4/0/terrains_peering_bit/bottom_right_corner = 0
6:4/0/terrains_peering_bit/bottom_side = 0
6:4/0/terrains_peering_bit/top_side = 0
7:4/0 = 0
7:4/0/terrain_set = 0
7:4/0/terrain = 0
7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 2.488037, -16, 2.1770325, 16, 16, 16)
7:4/0/terrains_peering_bit/bottom_side = 0
7:4/0/terrains_peering_bit/bottom_left_corner = 0
7:4/0/terrains_peering_bit/left_side = 0
7:4/0/terrains_peering_bit/top_side = 0
9:4/0 = 0
9:4/0/terrain_set = 0
9:4/0/terrain = 0
9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, 0.9330139, -16, 0.9330139, -16, 16, 16, 16)
9:4/0/terrains_peering_bit/right_side = 0
9:4/0/terrains_peering_bit/left_side = 0
9:4/0/terrains_peering_bit/top_left_corner = 0
9:4/0/terrains_peering_bit/top_side = 0
10:4/0 = 0
10:4/0/terrain_set = 0
10:4/0/terrain = 0
10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, 0.9330139, -16, 0.9330139, -16, 16, 16, 16)
10:4/0/terrains_peering_bit/right_side = 0
10:4/0/terrains_peering_bit/left_side = 0
10:4/0/terrains_peering_bit/top_side = 0
10:4/0/terrains_peering_bit/top_right_corner = 0
12:4/0 = 0
12:4/0/terrain_set = 0
12:4/0/terrain = 0
12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
12:4/0/terrains_peering_bit/right_side = 0
12:4/0/terrains_peering_bit/left_side = 0
12:4/0/terrains_peering_bit/top_side = 0
13:4/0 = 0
13:4/0/terrain_set = 0
13:4/0/terrain = 0
13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
13:4/0/terrains_peering_bit/bottom_side = 0
13:4/0/terrains_peering_bit/left_side = 0
13:4/0/terrains_peering_bit/top_side = 0
15:4/0 = 0
15:4/0/terrain_set = 0
15:4/0/terrain = 0
15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
15:4/0/terrains_peering_bit/right_side = 0
15:4/0/terrains_peering_bit/top_side = 0
16:4/0 = 0
16:4/0/terrain_set = 0
16:4/0/terrain = 0
16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 16, 16)
16:4/0/terrains_peering_bit/left_side = 0
16:4/0/terrains_peering_bit/top_side = 0
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_vtaks"]
texture = ExtResource("4_gee14")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 1
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kvpfn"]
texture = ExtResource("5_0tnpc")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrains_peering_bit/bottom_side = 1
0:1/0 = 0
0:1/0/terrain_set = 0
0:1/0/terrain = 1
0:1/0/terrains_peering_bit/top_side = 1
[sub_resource type="TileSet" id="TileSet_mvphy"]
tile_size = Vector2i(32, 32)
physics_layer_0/collision_layer = 1
terrain_set_0/mode = 0
terrain_set_0/terrain_0/name = "LeafyDirt"
terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
terrain_set_0/terrain_1/name = "Veg"
terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1)
sources/0 = SubResource("TileSetAtlasSource_u5sy4")
sources/1 = SubResource("TileSetAtlasSource_vtaks")
sources/2 = SubResource("TileSetAtlasSource_kvpfn")
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mvphy"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_mvphy"]
size = Vector2(66, 20) size = Vector2(66, 20)
@@ -404,13 +18,8 @@ script = ExtResource("1_lnu2h")
[node name="SceneManager" type="Node2D" parent="." unique_id=1778809182] [node name="SceneManager" type="Node2D" parent="." unique_id=1778809182]
script = ExtResource("2_lbhrr") script = ExtResource("2_lbhrr")
[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=374407051]
texture_filter = 1
tile_map_data = PackedByteArray("AAASAA0AAAAEAAQAAAAVAA0AAAAAAAQAAAAWAA0AAAABAAQAAAAXAA0AAAABAAQAAAAYAA0AAAAQAAQAAAAYAAwAAAAGAAMAAAAYAAsAAAAAAAAAAAAZAAsAAAABAAAAAAAZAAwAAAABAAIAAAAaAAwAAAACAAIAAAAaAAsAAAACAAAAAAAWAAkAAAACAAQAAAAVAAkAAAAAAAQAAAANABIAAAABAAAAAAAOABIAAAABAAAAAAAPABIAAAABAAAAAAAQABIAAAABAAAAAAARABIAAAABAAAAAAASABIAAAABAAAAAAATABIAAAABAAAAAAAUABIAAAABAAAAAAAVABIAAAABAAAAAAAWABIAAAABAAAAAAAXABIAAAABAAAAAAAYABIAAAABAAAAAAAZABIAAAABAAAAAAAaABIAAAABAAAAAAAbABIAAAAHAAEAAAAbABEAAAAAAAAAAAAcABEAAAACAAAAAAAcABIAAAACAAEAAAANABMAAAAHAAAAAAAOABMAAAAGAAEAAAAPABMAAAAHAAEAAAAQABMAAAAHAAAAAAAQABQAAAAKAAQAAAAPABQAAAAJAAQAAAAOABQAAAABAAIAAAANABQAAAAAAAIAAAARABMAAAAGAAAAAAASABMAAAAGAAAAAAATABMAAAAHAAAAAAASABQAAAAJAAQAAAARABQAAAAJAAQAAAAYABMAAAAGAAAAAAAZABMAAAAGAAAAAAAaABMAAAAGAAAAAAAaABQAAAABAAIAAAAbABMAAAAGAAAAAAAcABMAAAACAAIAAAAbABQAAAACAAIAAAAYABQAAAABAAIAAAAXABMAAAAHAAAAAAAWABMAAAAGAAAAAAAVABMAAAAGAAAAAAAVABQAAAABAAIAAAAUABMAAAAGAAAAAAAUABQAAAAJAAQAAAATABQAAAAKAAQAAAAWABQAAAABAAIAAAAXABQAAAABAAIAAAAZABQAAAABAAIAAAALABMAAAABAAIAAAAMABMAAAABAAIAAAAMABIAAAABAAAAAAALABIAAAABAAAAAAAKABIAAAABAAAAAAAKABMAAAABAAIAAAAJABMAAAAAAAIAAAAJABIAAAAQAAEAAAAIABIAAAAAAAIAAAAIABEAAAAAAAEAAAAJABEAAAACAAEAAAAIABAAAAAAAAEAAAAIAA8AAAAQAAEAAAAJAA8AAAACAAAAAAAJABAAAAACAAEAAAAIAA4AAAACAAAAAAAHAA8AAAAAAAIAAAAHAA4AAAAGAAQAAAAHAA0AAAAQAAMAAAAGAA0AAAAPAAQAAAAGAAwAAAAEAAEAAAAGAAsAAAAPAAMAAAAHAAsAAAABAAQAAAAIAAsAAAABAAQAAAAJAAsAAAAKAAQAAAAKAAsAAAACAAIAAAAKAAoAAAACAAAAAAAJAAoAAAAAAAAAAAANABAAAAACAAQAAAAMABAAAAABAAQAAAALABAAAAAAAAQAAAAVAAwAAQAAAAAAAAAYAAoAAQAAAAAAAAAZAAoAAQAAAAAAAAAIAA0AAQAAAAAAAAAJAAkAAQAAAAAAAAAWAAwAAgAAAAEAAAAWAAsAAgAAAAAAAAAbABAAAgAAAAEAAAAbAA8AAgAAAAAAAAAaABEAAQAAAAAAAAA=")
tile_set = SubResource("TileSet_mvphy")
[node name="StaticBody2D" type="StaticBody2D" parent="." unique_id=1148293182] [node name="StaticBody2D" type="StaticBody2D" parent="." unique_id=1148293182]
position = Vector2(713, 631) position = Vector2(568, 408)
metadata/_edit_group_ = true metadata/_edit_group_ = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D" unique_id=1634682333] [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D" unique_id=1634682333]
@@ -420,7 +29,7 @@ shape = SubResource("RectangleShape2D_mvphy")
position = Vector2(740, 551) position = Vector2(740, 551)
[node name="Player" parent="." unique_id=735255374 instance=ExtResource("4_iywne")] [node name="Player" parent="." unique_id=735255374 instance=ExtResource("4_iywne")]
position = Vector2(594, 390) position = Vector2(572, 385)
[node name="StaticBody2D2" type="StaticBody2D" parent="." unique_id=958110307] [node name="StaticBody2D2" type="StaticBody2D" parent="." unique_id=958110307]
position = Vector2(538, 582) position = Vector2(538, 582)
@@ -441,4 +50,7 @@ effect = "teleport"
[node name="Crate" parent="." unique_id=1367266345 instance=ExtResource("3_iywne")] [node name="Crate" parent="." unique_id=1367266345 instance=ExtResource("3_iywne")]
position = Vector2(635, 553) position = Vector2(635, 553)
[node name="Bullet" parent="." unique_id=1877237172 instance=ExtResource("6_p57ef")]
position = Vector2(305, 562)
[connection signal="areaTriggered" from="Triggers/Trigger" to="." method="_on_trigger"] [connection signal="areaTriggered" from="Triggers/Trigger" to="." method="_on_trigger"]
+102 -106
View File
@@ -2,122 +2,107 @@
[ext_resource type="Script" uid="uid://ct34rf6jscqmo" path="res://scripts/player.gd" id="1_3vyb7"] [ext_resource type="Script" uid="uid://ct34rf6jscqmo" path="res://scripts/player.gd" id="1_3vyb7"]
[ext_resource type="Texture2D" uid="uid://dq1io4uxs544h" path="res://assets/graphics/player/jump_fall/player jump 48x48.png" id="2_dqkch"] [ext_resource type="Texture2D" uid="uid://dq1io4uxs544h" path="res://assets/graphics/player/jump_fall/player jump 48x48.png" id="2_dqkch"]
[ext_resource type="Texture2D" uid="uid://cv1an7bix4lg4" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="2_g2els"] [ext_resource type="Texture2D" uid="uid://cv1an7bix4lg4" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="3_qlg0r"]
[ext_resource type="Texture2D" uid="uid://rdkrvqncrci5" path="res://assets/graphics/player/run/player run 48x48.png" id="3_qhqgy"] [ext_resource type="Texture2D" uid="uid://rdkrvqncrci5" path="res://assets/graphics/player/run/player run 48x48.png" id="4_tuyoq"]
[sub_resource type="CircleShape2D" id="CircleShape2D_o7s7a"] [sub_resource type="CircleShape2D" id="CircleShape2D_o7s7a"]
[sub_resource type="AtlasTexture" id="AtlasTexture_i4ail"] [sub_resource type="AtlasTexture" id="AtlasTexture_fjrip"]
atlas = ExtResource("2_dqkch") atlas = ExtResource("2_dqkch")
region = Rect2(96, 0, 48, 48) region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_qhqgy"]
atlas = ExtResource("2_g2els")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_dqkch"]
atlas = ExtResource("2_g2els")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_qlg0r"]
atlas = ExtResource("2_g2els")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_tuyoq"]
atlas = ExtResource("2_g2els")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_fjrip"]
atlas = ExtResource("2_g2els")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_smehm"] [sub_resource type="AtlasTexture" id="AtlasTexture_smehm"]
atlas = ExtResource("2_g2els") atlas = ExtResource("3_qlg0r")
region = Rect2(240, 0, 48, 48) region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ur7pv"] [sub_resource type="AtlasTexture" id="AtlasTexture_ur7pv"]
atlas = ExtResource("2_g2els") atlas = ExtResource("3_qlg0r")
region = Rect2(288, 0, 48, 48) region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_y4r1p"] [sub_resource type="AtlasTexture" id="AtlasTexture_y4r1p"]
atlas = ExtResource("2_g2els") atlas = ExtResource("3_qlg0r")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_d2wvv"]
atlas = ExtResource("2_g2els")
region = Rect2(384, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_3v2ag"]
atlas = ExtResource("2_g2els")
region = Rect2(432, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_a38lo"]
atlas = ExtResource("2_dqkch")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_4ni07"]
atlas = ExtResource("2_dqkch")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_jej6c"]
atlas = ExtResource("3_qhqgy")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_f1ej7"]
atlas = ExtResource("3_qhqgy")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_oprun"]
atlas = ExtResource("3_qhqgy")
region = Rect2(96, 0, 48, 48) region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_a8ls1"] [sub_resource type="AtlasTexture" id="AtlasTexture_d2wvv"]
atlas = ExtResource("3_qhqgy") atlas = ExtResource("3_qlg0r")
region = Rect2(144, 0, 48, 48) region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_qfm1y"] [sub_resource type="AtlasTexture" id="AtlasTexture_3v2ag"]
atlas = ExtResource("3_qhqgy") atlas = ExtResource("3_qlg0r")
region = Rect2(192, 0, 48, 48) region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_fulsm"] [sub_resource type="AtlasTexture" id="AtlasTexture_jej6c"]
atlas = ExtResource("3_qhqgy") atlas = ExtResource("3_qlg0r")
region = Rect2(240, 0, 48, 48) region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_4r5pv"] [sub_resource type="AtlasTexture" id="AtlasTexture_f1ej7"]
atlas = ExtResource("3_qhqgy") atlas = ExtResource("3_qlg0r")
region = Rect2(288, 0, 48, 48) region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_oprun"]
atlas = ExtResource("3_qlg0r")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_a8ls1"]
atlas = ExtResource("3_qlg0r")
region = Rect2(384, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_qfm1y"]
atlas = ExtResource("3_qlg0r")
region = Rect2(432, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_fulsm"]
atlas = ExtResource("2_dqkch")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_4r5pv"]
atlas = ExtResource("2_dqkch")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_60mlk"] [sub_resource type="AtlasTexture" id="AtlasTexture_60mlk"]
atlas = ExtResource("3_qhqgy") atlas = ExtResource("4_tuyoq")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_i4ail"]
atlas = ExtResource("4_tuyoq")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_a38lo"]
atlas = ExtResource("4_tuyoq")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_4ni07"]
atlas = ExtResource("4_tuyoq")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_l71n6"]
atlas = ExtResource("4_tuyoq")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ke2ow"]
atlas = ExtResource("4_tuyoq")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ujl30"]
atlas = ExtResource("4_tuyoq")
region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_31cv2"]
atlas = ExtResource("4_tuyoq")
region = Rect2(336, 0, 48, 48) region = Rect2(336, 0, 48, 48)
[sub_resource type="SpriteFrames" id="SpriteFrames_mvphy"] [sub_resource type="SpriteFrames" id="SpriteFrames_mvphy"]
animations = [{ animations = [{
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_i4ail") "texture": SubResource("AtlasTexture_fjrip")
}], }],
"loop": 2, "loop": 2,
"name": &"fall", "name": &"falling",
"speed": 12.0 "speed": 12.0
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_qhqgy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dqkch")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qlg0r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tuyoq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fjrip")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_smehm") "texture": SubResource("AtlasTexture_smehm")
}, { }, {
"duration": 1.0, "duration": 1.0,
@@ -131,23 +116,7 @@ animations = [{
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_3v2ag") "texture": SubResource("AtlasTexture_3v2ag")
}],
"loop": 1,
"name": &"idle",
"speed": 12.0
}, { }, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_a38lo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4ni07")
}],
"loop": 2,
"name": &"jump",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_jej6c") "texture": SubResource("AtlasTexture_jej6c")
}, { }, {
@@ -162,18 +131,49 @@ animations = [{
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_qfm1y") "texture": SubResource("AtlasTexture_qfm1y")
}],
"loop": 1,
"name": &"idle",
"speed": 12.0
}, { }, {
"frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_fulsm") "texture": SubResource("AtlasTexture_fulsm")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_4r5pv") "texture": SubResource("AtlasTexture_4r5pv")
}],
"loop": 2,
"name": &"jumping",
"speed": 12.0
}, { }, {
"frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_60mlk") "texture": SubResource("AtlasTexture_60mlk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i4ail")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_a38lo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4ni07")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l71n6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ke2ow")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ujl30")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_31cv2")
}], }],
"loop": 1, "loop": 1,
"name": &"run", "name": &"running",
"speed": 12.0 "speed": 12.0
}] }]
@@ -197,14 +197,10 @@ position = Vector2(14, -6)
[node name="LeftSpawn" type="Marker2D" parent="." unique_id=522145742] [node name="LeftSpawn" type="Marker2D" parent="." unique_id=522145742]
position = Vector2(-15, -6) position = Vector2(-15, -6)
[node name="PlayerGraphic" type="AnimatedSprite2D" parent="." unique_id=1106134562] [node name="PlayerGraphic" type="AnimatedSprite2D" parent="." unique_id=983340000]
texture_filter = 1 texture_filter = 1
position = Vector2(0, -6)
sprite_frames = SubResource("SpriteFrames_mvphy") sprite_frames = SubResource("SpriteFrames_mvphy")
animation = &"fall" animation = &"idle"
autoplay = "idle" autoplay = "idle"
[node name="Camera2D" type="Camera2D" parent="." unique_id=2099904623] [connection signal="animation_finished" from="PlayerGraphic" to="." method="_on_animation_finished"]
offset = Vector2(0, -30)
[connection signal="animation_finished" from="PlayerGraphic" to="." method="_animation_finished"]
+5 -3
View File
@@ -1,11 +1,11 @@
class_name GameController extends Node2D class_name GameController extends Node2D
signal teleportSignal(body:RigidBody2D) signal teleportSignal(body:RigidBody2D)
signal destroySignal(body) signal destroySignal(body:Node2D)
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
get_window().grab_focus() pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
@@ -18,7 +18,7 @@ func _on_trigger(effect: Variant, Object: Variant) -> void:
match effect: match effect:
"destroy": "destroy":
if not Object is Player: if not Object is Player:
destroySignal.emit(Object) Object.queue_free()
"teleport": "teleport":
print("Trigger wants to teleport") print("Trigger wants to teleport")
if Object is Crate: if Object is Crate:
@@ -27,6 +27,8 @@ func _on_trigger(effect: Variant, Object: Variant) -> void:
func _on_bullet_hit(body, bullet) -> void: func _on_bullet_hit(body, bullet) -> void:
print("GC knows bullet hit") print("GC knows bullet hit")
if body is Crate: if body is Crate:
#destroy crates
destroySignal.emit(body) destroySignal.emit(body)
#remove the bullet
destroySignal.emit(bullet) destroySignal.emit(bullet)
+43 -38
View File
@@ -9,14 +9,8 @@ class_name Player extends CharacterBody2D
@export var shove_power:= 800 @export var shove_power:= 800
@export var bump_power:=100 @export var bump_power:=100
var direction
signal bulletSignal(pos, speed)
enum FaceDirection {LEFT,RIGHT} enum FaceDirection {LEFT,RIGHT}
var facing:FaceDirection = FaceDirection.RIGHT var facing:FaceDirection = FaceDirection.RIGHT
enum PlayerStates {IDLE,RUNNING,JUMPING,FALLING}
var current_player_state:PlayerStates = PlayerStates.IDLE
var upJump:bool = false
var pushRightEnabled = false var pushRightEnabled = false
var pushLeftEnabled = false var pushLeftEnabled = false
@@ -26,32 +20,19 @@ var pushTarget:Crate
const SPEED = 300.0 const SPEED = 300.0
const JUMP_VELOCITY = -400.0 const JUMP_VELOCITY = -400.0
signal shootSignal(markerPosition, speed)
enum PlayerStates {IDLE,RUNNING,JUMPING,FALLING}
var current_player_state:PlayerStates = PlayerStates.IDLE
var upJump:bool = false
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
handle_input();
# Add the gravity. # Add the gravity.
if not is_on_floor(): if not is_on_floor():
velocity += get_gravity() * delta velocity += get_gravity() * delta
handle_input()
handle_movement()
handle_states()
handle_animations()
move_and_slide()
handle_collisions()
func handle_input()->void:
# Handle shoot
if Input.is_action_just_pressed("shoot"):
print("Player wants to shoot")
#send a bullet signal
if facing==FaceDirection.RIGHT:
bulletSignal.emit(right_spawn.global_transform, 800)
if facing==FaceDirection.LEFT:
bulletSignal.emit(left_spawn.global_transform, -800)
# Handle shove # Handle shove
if Input.is_action_just_pressed("shove"): if Input.is_action_just_pressed("shove"):
print("Player wants to shove") print("Player wants to shove")
@@ -62,16 +43,14 @@ func handle_input()->void:
if pushLeftEnabled and facing == FaceDirection.LEFT: if pushLeftEnabled and facing == FaceDirection.LEFT:
#shove left #shove left
pushTarget.apply_central_impulse(Vector2(-1,0) * shove_power ) pushTarget.apply_central_impulse(Vector2(-1,0) * shove_power )
# Handle jump. # Handle jump.
if Input.is_action_just_pressed("jump") and is_on_floor(): if Input.is_action_just_pressed("ui_accept") and is_on_floor():
velocity.y = JUMP_VELOCITY velocity.y = JUMP_VELOCITY
current_player_state=PlayerStates.JUMPING
upJump = true
# Get the input direction and handle the movement/deceleration. # Get the input direction and handle the movement/deceleration.
# As good practice, you should replace UI actions with custom gameplay actions. # As good practice, you should replace UI actions with custom gameplay actions.
direction = Input.get_axis("left", "right") var direction := Input.get_axis("ui_left", "ui_right")
func handle_movement()->void:
if direction: if direction:
velocity.x = direction * SPEED velocity.x = direction * SPEED
# set player direction # set player direction
@@ -83,7 +62,9 @@ func handle_movement()->void:
player_graphic.flip_h = false player_graphic.flip_h = false
else: else:
velocity.x = move_toward(velocity.x, 0, SPEED) velocity.x = move_toward(velocity.x, 0, SPEED)
func handle_collisions()->void: handle_states()
handle_animation()
move_and_slide()
# find all things my player collided with # find all things my player collided with
for i in get_slide_collision_count(): for i in get_slide_collision_count():
var c = get_slide_collision(i) var c = get_slide_collision(i)
@@ -108,34 +89,58 @@ func handle_collisions()->void:
pushTarget = collider pushTarget = collider
else: else:
pushLeftEnabled = false pushLeftEnabled = false
func handle_input()->void:
# Handle jump.
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
velocity.y = JUMP_VELOCITY
current_player_state=PlayerStates.JUMPING
upJump = true
#Handle Shoot Bullet
if Input.is_action_just_pressed("shoot"):
#marker postion, speed
match facing:
FaceDirection.RIGHT:
shootSignal.emit(right_spawn.global_transform, 800)
FaceDirection.LEFT:
shootSignal.emit(left_spawn.global_transform, -800)
func handle_states()->void: func handle_states()->void:
match current_player_state: match current_player_state:
PlayerStates.IDLE when velocity.x !=0: PlayerStates.IDLE when velocity.x !=0:
#player idle, when x velocity change
current_player_state = PlayerStates.RUNNING current_player_state = PlayerStates.RUNNING
PlayerStates.RUNNING when velocity.x ==0: PlayerStates.RUNNING when velocity.x ==0:
#player stops running
current_player_state = PlayerStates.IDLE current_player_state = PlayerStates.IDLE
PlayerStates.JUMPING when velocity.y>0: PlayerStates.JUMPING when velocity.y>0:
#you falling #player reaches top of jump, determined by velocity vs. gravity
current_player_state = PlayerStates.FALLING current_player_state = PlayerStates.FALLING
PlayerStates.FALLING when is_on_floor(): PlayerStates.FALLING when is_on_floor():
#player was falling, when suddenly on floor - run or idle
if velocity.x ==0: if velocity.x ==0:
current_player_state = PlayerStates.IDLE current_player_state = PlayerStates.IDLE
else: else:
current_player_state = PlayerStates.RUNNING current_player_state = PlayerStates.RUNNING
func handle_animations()->void: func handle_animation()->void:
match current_player_state: match current_player_state:
PlayerStates.RUNNING: PlayerStates.RUNNING:
player_graphic.play("run") player_graphic.play("running")
PlayerStates.IDLE: PlayerStates.IDLE:
player_graphic.play("idle") player_graphic.play("idle")
PlayerStates.JUMPING: PlayerStates.JUMPING:
#don't keep playing the jump animation!
if upJump: if upJump:
player_graphic.play("jump") player_graphic.play("jumping")
PlayerStates.FALLING: PlayerStates.FALLING:
player_graphic.play("fall") player_graphic.play("falling")
func _animation_finished() -> void:
func _on_animation_finished() -> void:
match current_player_state: match current_player_state:
PlayerStates.JUMPING: PlayerStates.JUMPING:
upJump = false upJump = false
+28 -35
View File
@@ -4,20 +4,17 @@ class_name SceneManager extends Node2D
@onready var game: GameController = $".." @onready var game: GameController = $".."
@onready var player: Player = $"../Player" @onready var player: Player = $"../Player"
#recipe for bullets
var bullet = preload("res://scenes/bullet.tscn") var bullet = preload("res://scenes/bullet.tscn")
var totalAllowedBullets:int =7
#collection
var bulletArray:Array[Bullet] = [] var bulletArray:Array[Bullet] = []
var totalAllowedBullets:int = 7
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
buildLevel() buildLevel()
game.teleportSignal.connect(teleport) game.teleportSignal.connect(teleport)
game.destroySignal.connect(destroy) game.destroySignal.connect(destroy)
player.bulletSignal.connect(makeBullet) player.shootSignal.connect(makeBullet)
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void: func _process(delta: float) -> void:
@@ -32,47 +29,43 @@ func buildLevel()->void:
func teleport(body, _bodyposition=null)->void: func teleport(body, _bodyposition=null)->void:
if body is Crate: if body is Crate:
var viewport_size = get_viewport().get_visible_rect().size var viewport_size = get_viewport().get_visible_rect().size
var random_x = randf_range(0, viewport_size.x) var random_x = randf_range(0, viewport_size.x)
var random_y = randf_range(0, viewport_size.y) var random_y = randf_range(0, viewport_size.y)
var newPosition = Vector2(random_x, random_y) var newPosition = Vector2(random_x, random_y)
body.teleport_to(newPosition) body.teleport_to(newPosition)
#order desk (for bullets)
func makeBullet(pos, speed)->void:
#ask for a bullet from....the factory
print("make a bullet")
var myBullet:Bullet = bulletFactory()
myBullet.transform = pos
myBullet.setSpeed(speed)
myBullet.set_process(true)
func bulletFactory()->Bullet: func bulletFactory()->Bullet:
var myBullet:Bullet var myBullet:Bullet
#how many bullets have been created? #how many bullets have been produced?
if bulletArray.size() <= totalAllowedBullets: if bulletArray.size() <= totalAllowedBullets:
#make a new bullet
myBullet = bullet.instantiate() myBullet = bullet.instantiate()
add_sibling(myBullet) add_sibling(myBullet)
#wire up a signal to the game controller
if not myBullet.bulletDamageSignal.is_connected(game._on_bullet_hit): if not myBullet.bulletDamageSignal.is_connected(game._on_bullet_hit):
myBullet.bulletDamageSignal.connect(game._on_bullet_hit) myBullet.bulletDamageSignal.connect(game._on_bullet_hit)
else: else:
#recycle bullet
myBullet = bulletArray.pop_back() myBullet = bulletArray.pop_back()
#put the bullet in my collection
bulletArray.push_front(myBullet) bulletArray.push_front(myBullet)
return myBullet return myBullet
func makeBullet(spawnPosition, speed)->void:
print("make bullet")
var myBullet:Bullet = bulletFactory()
myBullet.transform = spawnPosition
myBullet.setSpeed(speed)
myBullet.set_process(true)
func destroy(target)->void: func stash(bullet:Bullet)->void:
if target is Bullet: #hide it off-screen, remove from game loop
stash(target)
if target is Crate:
target.queue_free()
func stash(target:Bullet)->void:
print("stash a bullet")
#hide the bullet off-screen
var stashPosition:Vector2 = Vector2(-100,-100) var stashPosition:Vector2 = Vector2(-100,-100)
target.position = stashPosition bullet.position = stashPosition
target.setSpeed(0) bullet.setSpeed(0)
target.set_process(false) bullet.set_process(false)
func destroy(body)->void:
if body is Crate:
body.queue_free()
if body is Bullet:
#stash the bullet - save memory!
stash(body)