From df82d0d6c40239d439c7c635a4054baf9bfc9a2a Mon Sep 17 00:00:00 2001 From: indigoapples Date: Mon, 16 Sep 2024 21:06:38 -0400 Subject: [PATCH] bullets playeranimations scenemanager issue3 tilemaplayer issue 5 --- indigogameone/.DS_Store | Bin 6148 -> 6148 bytes .../graphics/environment/Terrain (32x32).png | Bin 0 -> 11796 bytes .../environment/Terrain (32x32).png.import | 34 ++++ .../assets/graphics/objects/crate.png | Bin 0 -> 1761 bytes .../assets/graphics/objects/crate.png.import | 34 ++++ .../assets/graphics/pixel_bullet.png | Bin 0 -> 3870 bytes .../assets/graphics/pixel_bullet.png.import | 34 ++++ .../player/idle/Player Idle 48x48.png | Bin 0 -> 1853 bytes .../player/idle/Player Idle 48x48.png.import | 34 ++++ .../player/jump/player jump 48x48.png | Bin 0 -> 1021 bytes .../player/jump/player jump 48x48.png.import | 34 ++++ .../graphics/player/run/player run 48x48.png | Bin 0 -> 3199 bytes .../player/run/player run 48x48.png.import | 34 ++++ indigogameone/project.godot | 7 + indigogameone/scenes/bullets.tscn | 10 +- indigogameone/scenes/crate.tscn | 9 +- indigogameone/scenes/game.tscn | 106 ++++++++++- indigogameone/scenes/player.tscn | 178 +++++++++++++++++- indigogameone/scenes/scene_manager.gd | 51 +++++ indigogameone/scripts/bullet.gd | 5 + indigogameone/scripts/player.gd | 27 ++- indigogameone/scripts/trigger.gd | 3 + 22 files changed, 589 insertions(+), 11 deletions(-) create mode 100644 indigogameone/assets/graphics/environment/Terrain (32x32).png create mode 100644 indigogameone/assets/graphics/environment/Terrain (32x32).png.import create mode 100644 indigogameone/assets/graphics/objects/crate.png create mode 100644 indigogameone/assets/graphics/objects/crate.png.import create mode 100644 indigogameone/assets/graphics/pixel_bullet.png create mode 100644 indigogameone/assets/graphics/pixel_bullet.png.import create mode 100644 indigogameone/assets/graphics/player/idle/Player Idle 48x48.png create mode 100644 indigogameone/assets/graphics/player/idle/Player Idle 48x48.png.import create mode 100644 indigogameone/assets/graphics/player/jump/player jump 48x48.png create mode 100644 indigogameone/assets/graphics/player/jump/player jump 48x48.png.import create mode 100644 indigogameone/assets/graphics/player/run/player run 48x48.png create mode 100644 indigogameone/assets/graphics/player/run/player run 48x48.png.import create mode 100644 indigogameone/scenes/scene_manager.gd diff --git a/indigogameone/.DS_Store b/indigogameone/.DS_Store index d1da8a42a8a8b4dbfbbe2aaeb199c9eba7516ad2..7b264669789b4071c8b5aa68d461dbce297bc90d 100644 GIT binary patch delta 173 zcmZoMXfc=|#>B!ku~2NHo}wrh0|Nsi1A_nqLkUB%XHI@{Qcix-W=59f%(@^cHikro zVjxUKmIjIg)ib37X}$koz`(GXhv_RLFFR0aGD8tVCPM*3$>euTC#6wD7>dh+i}G^v o^FUe|ClB)qu~2NHo}wr_0|Nsi1A_nqgC0XMLm5N5XHI_d#=_-{jO?2&SiUlD k7UN)J+04$t&jHl4S&-v9^JIPzM-HGakT#ah5h81t0r}GrRsaA1 diff --git a/indigogameone/assets/graphics/environment/Terrain (32x32).png b/indigogameone/assets/graphics/environment/Terrain (32x32).png new file mode 100644 index 0000000000000000000000000000000000000000..ddf1eaf58e63d04bfa806cd75eab977633dd771b GIT binary patch literal 11796 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 b1DNH#Dz|$Kzczt3Z-}m@(cMb*ColgW2-TUV literal 0 HcmV?d00001 diff --git a/indigogameone/assets/graphics/environment/Terrain (32x32).png.import b/indigogameone/assets/graphics/environment/Terrain (32x32).png.import new file mode 100644 index 0000000..a26c459 --- /dev/null +++ b/indigogameone/assets/graphics/environment/Terrain (32x32).png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5ab70owk0cn7" +path="res://.godot/imported/Terrain (32x32).png-9865738cd415cdc1d530801f96959643.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/environment/Terrain (32x32).png" +dest_files=["res://.godot/imported/Terrain (32x32).png-9865738cd415cdc1d530801f96959643.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 diff --git a/indigogameone/assets/graphics/objects/crate.png b/indigogameone/assets/graphics/objects/crate.png new file mode 100644 index 0000000000000000000000000000000000000000..2b8bdcd0c0b752f7079f09620a2121e2f556f925 GIT binary patch literal 1761 zcmeAS@N?(olHy`uVBq!ia0y~yV66aQ7G|Kx3)K}YKuS8mC&ZPJk@4EviZj!bwidfg zOR#ARv&?lj3p3XP%3l(wOM?7@862M7NMm4NEAe!345_&F=3paGhM{4>-<9Gk znLx}@fG-5n-t%Qiw=HDgiN4G+!%1VxA&nj<%_&X>BHo%UP8u@~@xA||ayrX=Yw@c0 zyIl&!e2eOzewl*LKoaCON2))%{^Iur)(-I_+>c!MD8vcqcZh#%s&L!`7OCC(ZT*}5 z6@oy)Bi%qjko+T7n7sAUX?G5p-eFs}u-+`;_)!!EU@agc55!z6;G16XZ)x!P7yfz& z#SLsLu^Sin_Ocky)sk&TAFjUh_MP-Ji#s_xAvVKYhGg^pX?%B&O0};w*WR}LXz;H5 zjk~e9p7otM@`~+RfsV?wOo=^<5XlcM5Sp|AOUVUd#V+YLkwB-qK{vgR@Vg zdKT^%g?o!L7ia&RJ^f|C<*jFLpF~v#4KrXU-YXA!eBn|gXSHY5^;ZcRx!ZBO?oXCg zN&D$(C1Jn1E2VTlG8u#14099Il}(^vC@*{LxWP<9@Al=SF!t`VaoxB)!v5>o(;rup z>*WKZ-)zMdfYm#~r}Zv7{AuR`#AxyOjLF2a+COAqGwX zVAt99L|H|7etHtIYrUj`Fwo(!#DNIjk4*WAyweN#Ok?IfuzvD?1Ka*Kbx0~g1S~9F zJ)g8crE>Rg*Oa#xv%B|-Atg3gA^_XK|2W%3>{|4lOE)!juhpEz6|0SlYZ*5ef0NnQ z@bV+=&x(nlmPi0iTCqz3tK4;;V}C;o303<(_t1VZ3evop9BaQq)Hy@wH7 bkWwJVy}a1dc9wyq7sw1xS3j3^P6z>(~*w_5v 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 literal 0 HcmV?d00001 diff --git a/indigogameone/assets/graphics/player/jump/player jump 48x48.png.import b/indigogameone/assets/graphics/player/jump/player jump 48x48.png.import new file mode 100644 index 0000000..40f1cca --- /dev/null +++ b/indigogameone/assets/graphics/player/jump/player jump 48x48.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://y5mb7anm4sgh" +path="res://.godot/imported/player jump 48x48.png-1ccba0c36041038682bf917e1f6cf991.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/player/jump/player jump 48x48.png" +dest_files=["res://.godot/imported/player jump 48x48.png-1ccba0c36041038682bf917e1f6cf991.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 diff --git a/indigogameone/assets/graphics/player/run/player run 48x48.png b/indigogameone/assets/graphics/player/run/player run 48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..aca5b5560dba7381b8b06e68e76b1cadf80992cb GIT binary patch literal 3199 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 I)3Fc#A5dKsJ^%m! literal 0 HcmV?d00001 diff --git a/indigogameone/assets/graphics/player/run/player run 48x48.png.import b/indigogameone/assets/graphics/player/run/player run 48x48.png.import new file mode 100644 index 0000000..b27be50 --- /dev/null +++ b/indigogameone/assets/graphics/player/run/player run 48x48.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://by308sw7sj17r" +path="res://.godot/imported/player run 48x48.png-6d66612d48bfa4c8721495ba557ab7c6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/player/run/player run 48x48.png" +dest_files=["res://.godot/imported/player run 48x48.png-6d66612d48bfa4c8721495ba557ab7c6.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 diff --git a/indigogameone/project.godot b/indigogameone/project.godot index 8f00343..327d659 100644 --- a/indigogameone/project.godot +++ b/indigogameone/project.godot @@ -15,6 +15,13 @@ run/main_scene="res://scenes/game.tscn" config/features=PackedStringArray("4.3", "Forward Plus") config/icon="res://icon.svg" +[file_customization] + +folder_colors={ +"res://assets/graphics/": "red", +"res://assets/graphics/objects/": "red" +} + [input] Shove={ diff --git a/indigogameone/scenes/bullets.tscn b/indigogameone/scenes/bullets.tscn index d184b34..ccd9029 100644 --- a/indigogameone/scenes/bullets.tscn +++ b/indigogameone/scenes/bullets.tscn @@ -1,16 +1,22 @@ -[gd_scene load_steps=3 format=3 uid="uid://ctn52om1wdpb5"] +[gd_scene load_steps=4 format=3 uid="uid://ctn52om1wdpb5"] [ext_resource type="Script" path="res://scripts/bullet.gd" id="1_5y5v0"] +[ext_resource type="Texture2D" uid="uid://4ry7j22utcml" path="res://assets/graphics/pixel_bullet.png" id="2_kqndj"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_qu5ok"] size = Vector2(20, 4) [node name="Area2D" type="Area2D"] script = ExtResource("1_5y5v0") -metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource("RectangleShape2D_qu5ok") debug_color = Color(0, 0.909804, 0.541176, 0.419608) +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(-14, -13) +rotation = 3.11816 +scale = Vector2(0.505787, 0.505787) +texture = ExtResource("2_kqndj") + [connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/indigogameone/scenes/crate.tscn b/indigogameone/scenes/crate.tscn index 3f859ff..6665636 100644 --- a/indigogameone/scenes/crate.tscn +++ b/indigogameone/scenes/crate.tscn @@ -1,4 +1,6 @@ -[gd_scene load_steps=2 format=3 uid="uid://d4lcu5l7nqd2f"] +[gd_scene load_steps=3 format=3 uid="uid://d4lcu5l7nqd2f"] + +[ext_resource type="Texture2D" uid="uid://byw1vqghqcgp2" path="res://assets/graphics/objects/crate.png" id="1_m3hm8"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_51x3g"] @@ -10,3 +12,8 @@ metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource("RectangleShape2D_51x3g") debug_color = Color(0.819608, 0.447059, 0.654902, 0.643137) + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture_filter = 1 +scale = Vector2(0.188724, 0.188724) +texture = ExtResource("1_m3hm8") diff --git a/indigogameone/scenes/game.tscn b/indigogameone/scenes/game.tscn index f0e3c74..837a131 100644 --- a/indigogameone/scenes/game.tscn +++ b/indigogameone/scenes/game.tscn @@ -1,9 +1,66 @@ -[gd_scene load_steps=6 format=3 uid="uid://bpvxf6b1pgvw1"] +[gd_scene load_steps=10 format=4 uid="uid://bpvxf6b1pgvw1"] [ext_resource type="PackedScene" uid="uid://d4lcu5l7nqd2f" path="res://scenes/crate.tscn" id="1_5062r"] [ext_resource type="PackedScene" uid="uid://b06r6vtllw0b7" path="res://scenes/player.tscn" id="1_fdutd"] +[ext_resource type="Script" path="res://scenes/scene_manager.gd" id="1_u3qrg"] +[ext_resource type="Texture2D" uid="uid://5ab70owk0cn7" path="res://assets/graphics/environment/Terrain (32x32).png" id="2_w2wc2"] [ext_resource type="PackedScene" uid="uid://ckvtpjm5q2t0d" path="res://scenes/trigger.tscn" id="3_bhtcy"] +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_uttar"] +texture = ExtResource("2_w2wc2") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +4:0/0 = 0 +6:0/0 = 0 +7:0/0 = 0 +9:0/0 = 0 +10:0/0 = 0 +12:0/0 = 0 +13:0/0 = 0 +15:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +4:1/0 = 0 +6:1/0 = 0 +7:1/0 = 0 +9:1/0 = 0 +10:1/0 = 0 +12:1/0 = 0 +13:1/0 = 0 +15:1/0 = 0 +16:1/0 = 0 +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +4:2/0 = 0 +6:3/0 = 0 +7:3/0 = 0 +9:3/0 = 0 +10:3/0 = 0 +12:3/0 = 0 +13:3/0 = 0 +15:3/0 = 0 +16:3/0 = 0 +0:4/0 = 0 +1:4/0 = 0 +2:4/0 = 0 +4:4/0 = 0 +6:4/0 = 0 +7:4/0 = 0 +9:4/0 = 0 +10:4/0 = 0 +12:4/0 = 0 +13:4/0 = 0 +15:4/0 = 0 +16:4/0 = 0 + +[sub_resource type="TileSet" id="TileSet_qu0u3"] +tile_size = Vector2i(32, 32) +sources/0 = SubResource("TileSetAtlasSource_uttar") + [sub_resource type="RectangleShape2D" id="RectangleShape2D_by4gc"] size = Vector2(25.75, 20) @@ -11,6 +68,15 @@ size = Vector2(25.75, 20) [node name="World" type="Node2D"] +[node name="SceneManager" type="Node" parent="."] +unique_name_in_owner = true +script = ExtResource("1_u3qrg") + +[node name="TileMapLayer" type="TileMapLayer" parent="."] +position = Vector2(3, 0) +tile_map_data = PackedByteArray("AAAHAAgAAAAAAAAAAAAIAAgAAAAAAAAAAAAJAAgAAAAAAAAAAAAKAAgAAAAAAAAAAAALAAgAAAAAAAAAAAAMAAgAAAAAAAAAAAALAAYAAAAEAAQAAAAMAAoAAAAAAAQAAAANAAoAAAABAAQAAAAOAAoAAAACAAQAAAAPAAoAAAAAAAQAAAAQAAoAAAABAAQAAAARAAoAAAACAAQAAAAUAA4AAAAAAAQAAAAVAA4AAAABAAQAAAAWAA4AAAACAAQAAAAQAAwAAAAAAAQAAAARAAwAAAABAAQAAAASAAwAAAACAAQAAAAFAAoAAAAEAAQAAAADAAwAAAAEAAQAAAABAA4AAAAEAAQAAAA=") +tile_set = SubResource("TileSet_qu0u3") + [node name="platform" type="StaticBody2D" parent="."] position = Vector2(373, 218) metadata/_edit_group_ = true @@ -34,6 +100,34 @@ metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="platform3"] shape = SubResource("RectangleShape2D_by4gc") +[node name="platform4" type="StaticBody2D" parent="."] +position = Vector2(604, 401) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform4"] +shape = SubResource("RectangleShape2D_by4gc") + +[node name="platform5" type="StaticBody2D" parent="."] +position = Vector2(179, 336) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform5"] +shape = SubResource("RectangleShape2D_by4gc") + +[node name="platform6" type="StaticBody2D" parent="."] +position = Vector2(115, 402) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform6"] +shape = SubResource("RectangleShape2D_by4gc") + +[node name="platform7" type="StaticBody2D" parent="."] +position = Vector2(51, 465) +metadata/_edit_group_ = true + +[node name="CollisionShape2D" type="CollisionShape2D" parent="platform7"] +shape = SubResource("RectangleShape2D_by4gc") + [node name="Floor" type="StaticBody2D" parent="."] position = Vector2(558, 525) metadata/_edit_group_ = true @@ -41,9 +135,11 @@ metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Floor"] shape = SubResource("WorldBoundaryShape2D_7qxn5") -[node name="CharacterBody2D" parent="." instance=ExtResource("1_fdutd")] +[node name="CharacterBody2D" parent="." groups=["player"] instance=ExtResource("1_fdutd")] rotation = -0.00098838 +[node name="Camera2D" type="Camera2D" parent="CharacterBody2D"] + [node name="Area2D" parent="." instance=ExtResource("3_bhtcy")] [node name="RigidBody2D" parent="." groups=["pushables"] instance=ExtResource("1_5062r")] @@ -54,3 +150,9 @@ position = Vector2(453, 166) [node name="RigidBody2D3" parent="." groups=["pushables"] instance=ExtResource("1_5062r")] position = Vector2(605, 250) + +[node name="RigidBody2D4" parent="." groups=["pushables"] instance=ExtResource("1_5062r")] +position = Vector2(310, 143) + +[node name="BoxTrapTarget" type="Node2D" parent="."] +position = Vector2(110, 146) diff --git a/indigogameone/scenes/player.tscn b/indigogameone/scenes/player.tscn index a54b7a7..65d7879 100644 --- a/indigogameone/scenes/player.tscn +++ b/indigogameone/scenes/player.tscn @@ -1,6 +1,174 @@ -[gd_scene load_steps=3 format=3 uid="uid://b06r6vtllw0b7"] +[gd_scene load_steps=28 format=3 uid="uid://b06r6vtllw0b7"] [ext_resource type="Script" path="res://scripts/player.gd" id="1_5gbgu"] +[ext_resource type="Texture2D" uid="uid://b4vx6usqxle4j" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="2_38vxs"] +[ext_resource type="Texture2D" uid="uid://y5mb7anm4sgh" path="res://assets/graphics/player/jump/player jump 48x48.png" id="3_coupp"] +[ext_resource type="Texture2D" uid="uid://by308sw7sj17r" path="res://assets/graphics/player/run/player run 48x48.png" id="3_mjo1k"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_alqpc"] +atlas = ExtResource("2_38vxs") +region = Rect2(0, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l14j5"] +atlas = ExtResource("2_38vxs") +region = Rect2(48, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yahyo"] +atlas = ExtResource("2_38vxs") +region = Rect2(96, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ioiuo"] +atlas = ExtResource("2_38vxs") +region = Rect2(144, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kwwhi"] +atlas = ExtResource("2_38vxs") +region = Rect2(192, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dnyv4"] +atlas = ExtResource("2_38vxs") +region = Rect2(240, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7jb1d"] +atlas = ExtResource("2_38vxs") +region = Rect2(288, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7juuh"] +atlas = ExtResource("2_38vxs") +region = Rect2(336, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c1iri"] +atlas = ExtResource("2_38vxs") +region = Rect2(384, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7cw7d"] +atlas = ExtResource("2_38vxs") +region = Rect2(432, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_onski"] +atlas = ExtResource("3_coupp") +region = Rect2(0, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_njipa"] +atlas = ExtResource("3_coupp") +region = Rect2(48, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jnruv"] +atlas = ExtResource("3_coupp") +region = Rect2(96, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_etrer"] +atlas = ExtResource("3_mjo1k") +region = Rect2(0, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j2dlj"] +atlas = ExtResource("3_mjo1k") +region = Rect2(48, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cuybg"] +atlas = ExtResource("3_mjo1k") +region = Rect2(96, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1oq7j"] +atlas = ExtResource("3_mjo1k") +region = Rect2(144, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tw0l5"] +atlas = ExtResource("3_mjo1k") +region = Rect2(192, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dapjm"] +atlas = ExtResource("3_mjo1k") +region = Rect2(240, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f7yjm"] +atlas = ExtResource("3_mjo1k") +region = Rect2(288, 0, 48, 48) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vat2j"] +atlas = ExtResource("3_mjo1k") +region = Rect2(336, 0, 48, 48) + +[sub_resource type="SpriteFrames" id="SpriteFrames_nfvt1"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_alqpc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l14j5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yahyo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ioiuo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kwwhi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dnyv4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7jb1d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7juuh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c1iri") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7cw7d") +}], +"loop": true, +"name": &"idle", +"speed": 15.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_onski") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_njipa") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jnruv") +}], +"loop": false, +"name": &"jump", +"speed": 9.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_etrer") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j2dlj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cuybg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1oq7j") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tw0l5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dapjm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f7yjm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vat2j") +}], +"loop": true, +"name": &"run", +"speed": 15.0 +}] [sub_resource type="CircleShape2D" id="CircleShape2D_gwwau"] @@ -8,6 +176,14 @@ script = ExtResource("1_5gbgu") metadata/_edit_group_ = true +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +texture_filter = 1 +position = Vector2(4, -42) +scale = Vector2(3.20833, 3.20833) +sprite_frames = SubResource("SpriteFrames_nfvt1") +animation = &"jump" +autoplay = "idle" + [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource("CircleShape2D_gwwau") debug_color = Color(0.858824, 0.227451, 0.4, 0.909804) diff --git a/indigogameone/scenes/scene_manager.gd b/indigogameone/scenes/scene_manager.gd new file mode 100644 index 0000000..b3a13de --- /dev/null +++ b/indigogameone/scenes/scene_manager.gd @@ -0,0 +1,51 @@ +extends Node +var crate = preload("res://scenes/crate.tscn") +var bullet = preload("res://scenes/bullets.tscn") +# Called when the node enters the scene tree for the first time. +var bulletPool:Array = [] #start off with it empty; no bullets +#crate stuff +var cratePool:Array = [] +@onready var box_trap_target: Node2D = $"../BoxTrapTarget" + +#called when the node enters the scene tree fro the first time +func _ready() -> void: #function that runs exactly run time.. safe place to do any configurations there + #pool all the crates + for obj in owner.get_children(): + if obj.is_in_group("pushables"): + cratePool.push_back(obj) + print("Total crates on screen: "+str(cratePool.size())) + +func boxTrap(): + print("Trigger a box trap!") + var myCrate= crateFactory() #gonna ask factory for our crate + myCrate.transform = box_trap_target.transform + owner.add_child(myCrate) + +func bulletFactory(): + #makes bullets! + var myBullet + print("total bullets in play "+str(bulletPool.size())) + if bulletPool.size() > 3: + myBullet = bulletPool.pop_front() #if you got 3 bullets in play already, gonna take oldest bullet in pool and give you that + else: + myBullet = bullet.instantiate() + owner.add_child(myBullet) + #or recycles bullets + return myBullet + +func placeBullet(speed, markerpos): + print("SceneManager: make a bullet") + var myBullet = bulletFactory() + bulletPool.push_back(myBullet) #everytime we ask for bullet it gonna be added to the pool + print("Total bullets in play: "+str(bulletPool.size())) + #set the speed of the bullet + myBullet.setSpeed(speed) + #set of position of the bullet + myBullet.transform = markerpos + #make the bullet visible by adding it + +func crateFactory(): + var myCrate = crate.instantiate() + myCrate.add_to_group("pushables") + return myCrate + diff --git a/indigogameone/scripts/bullet.gd b/indigogameone/scripts/bullet.gd index 4899c16..d8192b2 100644 --- a/indigogameone/scripts/bullet.gd +++ b/indigogameone/scripts/bullet.gd @@ -1,4 +1,5 @@ extends Area2D +@onready var bulletsprite: Sprite2D = $Sprite2D var speed := 700 #implied type colon equal it looks at what you're trying to store in memory and put similar things together which is much faster for your operating system to process signal hit(bullet, body) @@ -7,6 +8,10 @@ signal hit(bullet, body) func setSpeed(speedVal): #by default will be 700, but can change here if we want speed = speedVal + if speedVal < 0: + bulletsprite.flip_h = true + else: + bulletsprite.flip_h = false func _physics_process(delta: float) -> void: position += transform.x * speed * delta diff --git a/indigogameone/scripts/player.gd b/indigogameone/scripts/player.gd index 1bfc99b..1f8bb97 100644 --- a/indigogameone/scripts/player.gd +++ b/indigogameone/scripts/player.gd @@ -13,6 +13,8 @@ var pushRightEnabled = false @onready var left_ray: RayCast2D = $LeftRay @onready var marker_right: Node2D = $MarkerRight @onready var marker_left: Node2D = $MarkerLeft +@onready var playerSprite: AnimatedSprite2D = $AnimatedSprite2D + var pushTarget @@ -42,19 +44,22 @@ func _physics_process(delta: float) -> void: pushRightEnabled = false if Input.is_action_just_pressed("shoot"): - print("I will shoot") + var mybullet = bullet.instantiate() #will make bullet but won't position or put bullet on screen if faceLeft: print("shoot left") - mybullet.setSpeed(-700) - mybullet.transform = marker_left.global_transform + #mybullet.setSpeed(-700) + #mybullet.transform = marker_left.global_transform + %SceneManager.placeBullet(-700, marker_left.global_transform) else: print("shoot right") #position bullet - mybullet.transform = marker_right.global_transform #saying give me global coordinates for .. + #mybullet.transform = marker_right.global_transform #saying give me global coordinates for .. #put bullet on screen - owner.add_child(mybullet) #adds bullet when facing both directions + #owner.add_child(mybullet) #adds bullet when facing both directions + #saying place bullet in global coordinates not local + %SceneManager.placeBullet(700, marker_right.global_transform) # Get the input direction and handle the movement/deceleration. # As good practice, you should replace UI actions with custom gameplay actions. @@ -62,12 +67,24 @@ func _physics_process(delta: float) -> void: #code tells us whether we are facing left or right if direction <0: faceLeft = true + playerSprite.flip_h = true if direction >0: faceLeft = false + playerSprite.flip_h = false + if direction: velocity.x = direction * SPEED else: velocity.x = move_toward(velocity.x, 0, SPEED) + + if is_on_floor(): + #looks at angle to see if flat surface or if surface is wall... 45 deg angle is floor + if direction == 0: + playerSprite.play("idle") + else: + playerSprite.play("run") + else: + playerSprite.play("jump") #blue text is part of the engine!!!! move_and_slide() #this is where all the collisions are recorded for i in get_slide_collision_count(): diff --git a/indigogameone/scripts/trigger.gd b/indigogameone/scripts/trigger.gd index b630d2f..d865daa 100644 --- a/indigogameone/scripts/trigger.gd +++ b/indigogameone/scripts/trigger.gd @@ -13,6 +13,9 @@ func _process(delta: float) -> void: func _on_body_entered(body: Node2D) -> void: print("Trigger is fired") + if body.is_in_group("player"): + print("player entered the trap!") + %SceneManager.boxTrap() func _on_body_exited(body: Node2D) -> void: