From d6e7ea87f8d5ad2294278a01a41e46e0e3f74d27 Mon Sep 17 00:00:00 2001 From: GabriellePipo Date: Mon, 13 Jul 2026 20:57:36 -0400 Subject: [PATCH] Added parallax graphics, second terrain for veggies, start of custom player graphics, collectible coins. --- assets/environment/background/foreground.png | Bin 0 -> 2430 bytes .../background/foreground.png.import | 40 ++++++ assets/environment/background/midground.jpg | Bin 0 -> 7397 bytes .../background/midground.jpg.import | 40 ++++++ assets/environment/background/midground.png | Bin 0 -> 1535 bytes .../background/midground.png.import | 40 ++++++ assets/environment/background/sky.jpg | Bin 0 -> 2059 bytes assets/environment/background/sky.jpg.import | 40 ++++++ assets/environment/flavour/plane.png | Bin 0 -> 4115 bytes assets/environment/flavour/plane.png.import | 40 ++++++ assets/environment/veggies/mushroom_32x64.png | Bin 0 -> 1738 bytes .../veggies/mushroom_32x64.png.import | 40 ++++++ assets/environment/veggies/veg_32x32.png | Bin 0 -> 675 bytes .../environment/veggies/veg_32x32.png.import | 40 ++++++ assets/pickups/coin.png | Bin 0 -> 500 bytes assets/pickups/coin.png.import | 40 ++++++ assets/player/idle/Player Idle 48x48.png | Bin 1853 -> 1387 bytes assets/source/plane_00.png | Bin 0 -> 19429 bytes assets/source/plane_00.png.import | 40 ++++++ assets/source/plane_01.png | Bin 0 -> 22033 bytes assets/source/plane_01.png.import | 40 ++++++ assets/source/plane_02.png | Bin 0 -> 18045 bytes assets/source/plane_02.png.import | 40 ++++++ assets/source/plane_03.png | Bin 0 -> 14607 bytes assets/source/plane_03.png.import | 40 ++++++ project.godot | 12 ++ scenes/coin.tscn | 114 ++++++++++++++++++ scenes/game.tscn | 75 +++++++++++- scenes/player.tscn | 2 + scripts/coin.gd | 7 ++ scripts/coin.gd.uid | 1 + scripts/game.gd | 15 ++- scripts/scene_manager.gd | 13 ++ 33 files changed, 716 insertions(+), 3 deletions(-) create mode 100644 assets/environment/background/foreground.png create mode 100644 assets/environment/background/foreground.png.import create mode 100644 assets/environment/background/midground.jpg create mode 100644 assets/environment/background/midground.jpg.import create mode 100644 assets/environment/background/midground.png create mode 100644 assets/environment/background/midground.png.import create mode 100644 assets/environment/background/sky.jpg create mode 100644 assets/environment/background/sky.jpg.import create mode 100644 assets/environment/flavour/plane.png create mode 100644 assets/environment/flavour/plane.png.import create mode 100644 assets/environment/veggies/mushroom_32x64.png create mode 100644 assets/environment/veggies/mushroom_32x64.png.import create mode 100644 assets/environment/veggies/veg_32x32.png create mode 100644 assets/environment/veggies/veg_32x32.png.import create mode 100644 assets/pickups/coin.png create mode 100644 assets/pickups/coin.png.import create mode 100644 assets/source/plane_00.png create mode 100644 assets/source/plane_00.png.import create mode 100644 assets/source/plane_01.png create mode 100644 assets/source/plane_01.png.import create mode 100644 assets/source/plane_02.png create mode 100644 assets/source/plane_02.png.import create mode 100644 assets/source/plane_03.png create mode 100644 assets/source/plane_03.png.import create mode 100644 scenes/coin.tscn create mode 100644 scripts/coin.gd create mode 100644 scripts/coin.gd.uid diff --git a/assets/environment/background/foreground.png b/assets/environment/background/foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..490a0cd1bd63202b8b814ed65fc9e995fa2d881d GIT binary patch literal 2430 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 ImOUxyzpX0;ivR!s literal 0 HcmV?d00001 diff --git a/assets/environment/background/foreground.png.import b/assets/environment/background/foreground.png.import new file mode 100644 index 0000000..e6e510c --- /dev/null +++ b/assets/environment/background/foreground.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7fi0j51h2qj1" +path="res://.godot/imported/foreground.png-d368ce5a3d0ffb25b8d5b27f88e3e9ff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/background/foreground.png" +dest_files=["res://.godot/imported/foreground.png-d368ce5a3d0ffb25b8d5b27f88e3e9ff.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 diff --git a/assets/environment/background/midground.jpg b/assets/environment/background/midground.jpg new file mode 100644 index 0000000000000000000000000000000000000000..abe775085aecbee3542dd8e6fde0e5441fc63a2f GIT binary patch literal 7397 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 o3w`}?Uh$Rn^QCQJ@dG`VG`G!J% zmRdVPO~k4Ns&*2r4hU)*K&IL$0b3a&)5s(B1z3nW7%bZEZU2bQboZRuv)}ifbN2kQ z)d}&NJw5z9005qGGKm5JWEA=WoB@%<)3>wWfn|y0A^@(`G3S+Zct_NV&9TUXyQ@p! zMUWv=$N@MK3;?ME;0=VxrvT&&0hk~F_^<&0UzMRVaRVe6d$w$rfWN5y^{tkZ5OG(@ zcBlaeSwcCYY1&u-LASg(xzugK&C{3Wz1Q~THUQ}2IEiSRX85_iE0Hf^SKRaW7O{Cz zY)%xLx5HAc_ej2U=8wk4*YRds($4;OXOmAocfdmb|K;Zwg1mb9X3qKcPlu_!@O2a} zWOMArIxfb=SteX84~6`~(1iZJ4}gz1MH-oXNHVteg+9#i^ z;35p?8sDJwcp40(x)nWVkun$BNQyMhrM1flaC4uS?D`x%>T1Al*T-oW^`*}rk_m2- z%LsP*20As9p!?(TEh*sPZ)5IU*3w3*XBr!ht@GtHFDzlyx==W$v-hMB7S$r~nZ8dm z^mQ8p{E5Y$)uECr5ooT;{=OB(!_Zx7m0e&(ZCos}DBHf=irIK=OjY^u{ESFGkz)(C zc>g%qHKr8y*bg^DKcJ?&EUSkt;3rJeF3MjLxr!)}Eu1lyO$4jb zEQ}K`^n}a~tSsANB)s_`>ZJ1}(}1stAlK5ut1N(@7(uFO1y!RkavSMDiX|%Y({IJo zKa=utvp&!}0O;@k?ru9|C^T3-ZNa6qT#0|)6UNkgT}b%(1s!TyTMd<3ISf+=m8s{` ze!X+-+!S94B}sz^sx|Tp-OS8>JUW`Vx^nvN)X>^Xw}@H1^(rkqx7^;)(UZ}{90SbI z)}iL42erJ^`TL>S5_$@G{Hy5ghgTUNIx0)TXe%w_Oxq*aCV}IVPUaNMz50QEAf}f| zP8wET2O6(g20A({_aP`&xBK1eWxRiclZ89T@)Ql?6<)+u1VYXw52)Ct>-7~JtFH|7 zR*uoDMjk6=QYaa3r=(iMtF4H;m6B?D8fw0Gp}4TTdny;;LU8R9wL6F*5oiEmP=;|S hV-uA9OZ=x?@+>XOdAQ|To_>(}72~Aw5@Re;`Zt&(-6a43 literal 0 HcmV?d00001 diff --git a/assets/environment/background/midground.png.import b/assets/environment/background/midground.png.import new file mode 100644 index 0000000..c87d224 --- /dev/null +++ b/assets/environment/background/midground.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpbknj8ab31he" +path="res://.godot/imported/midground.png-9716b6584afcfe6fa4ef667a0ac8351f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/background/midground.png" +dest_files=["res://.godot/imported/midground.png-9716b6584afcfe6fa4ef667a0ac8351f.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 diff --git a/assets/environment/background/sky.jpg b/assets/environment/background/sky.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c6a25385f2fbcdc75e3dbda3e0c334b638409ad GIT binary patch literal 2059 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 literal 0 HcmV?d00001 diff --git a/assets/environment/veggies/mushroom_32x64.png.import b/assets/environment/veggies/mushroom_32x64.png.import new file mode 100644 index 0000000..27ee1f6 --- /dev/null +++ b/assets/environment/veggies/mushroom_32x64.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ca5a1gspb2ybj" +path="res://.godot/imported/mushroom_32x64.png-b1dbb217db4b1cc7fe723fa9cbf9622b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/veggies/mushroom_32x64.png" +dest_files=["res://.godot/imported/mushroom_32x64.png-b1dbb217db4b1cc7fe723fa9cbf9622b.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 diff --git a/assets/environment/veggies/veg_32x32.png b/assets/environment/veggies/veg_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..4e09fa94c72733804bbf24e8b93c93c7daf096c0 GIT binary patch literal 675 zcmV;U0$lxxP)EX>4Tx04R}tkv&MmKpe$iTcsiu5i5!~WT;Lph>AFB6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jf7n~Gbq{ROvg%&X$9QWhhy~o`#<}3IpJ#@RbZVYBOe_@ISZ-rhG*sd#;)tSZl<&{D ztZ?4qtd^^+c~AbrP)=J}<~q$0B(R7jh!7y7iW17O5TjKi#YBqs;~xHD$1jpgCRYiJ z91EyGh2;3b|KNAGW`1(QO$x<<&KKMM7zKj6K%-{c-^aGyH~|9Bz?IhWSL(pbC+W48 z7C8cXw}Ff6mL~53mpj1FlP(#OBL!&s^LgO?jJ_!g^xp#AYi@7NeVjf3Y3eF@0~{Oz zV+G1y_jq?#dvE`qY4-O6go1LeRQ&;x00006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=>riLDmieSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{004VQL_t(o!|ju?4Zt7_1PueQT$ad4EWvVFfK*5>Yzf;q zY5pn-!u{hw1ONa4006+xlv4-w(dJs;*Hb5K$3aK5xV}Y5s6Pw5~a#BWiLE#M?t^`K{fyY002ov JPDHLkV1hjJ7cT$+ literal 0 HcmV?d00001 diff --git a/assets/environment/veggies/veg_32x32.png.import b/assets/environment/veggies/veg_32x32.png.import new file mode 100644 index 0000000..cb82068 --- /dev/null +++ b/assets/environment/veggies/veg_32x32.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://becbij5hhanvv" +path="res://.godot/imported/veg_32x32.png-1a23bbefe425ba5c243b7f4852257a1b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/veggies/veg_32x32.png" +dest_files=["res://.godot/imported/veg_32x32.png-1a23bbefe425ba5c243b7f4852257a1b.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 diff --git a/assets/pickups/coin.png b/assets/pickups/coin.png new file mode 100644 index 0000000000000000000000000000000000000000..01ae33d70b398db7f1f7bcafe883a0a469805201 GIT binary patch literal 500 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 G6ZaPhQ=i!Y diff --git a/assets/source/plane_00.png b/assets/source/plane_00.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae491f2594628090979de925a211011f958cb15 GIT binary patch literal 19429 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 literal 0 HcmV?d00001 diff --git a/assets/source/plane_00.png.import b/assets/source/plane_00.png.import new file mode 100644 index 0000000..ccabf41 --- /dev/null +++ b/assets/source/plane_00.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mffu0nu82ljd" +path="res://.godot/imported/plane_00.png-715574c35ac58427959c768c95980a6f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/source/plane_00.png" +dest_files=["res://.godot/imported/plane_00.png-715574c35ac58427959c768c95980a6f.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 diff --git a/assets/source/plane_01.png b/assets/source/plane_01.png new file mode 100644 index 0000000000000000000000000000000000000000..55aec5d4a83f75161c92a7d05f356a560754e4eb GIT binary patch literal 22033 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 ZGMBN%@lOBcyjBKq#oXGg!qhA7e*wo-LJj}` literal 0 HcmV?d00001 diff --git a/assets/source/plane_02.png.import b/assets/source/plane_02.png.import new file mode 100644 index 0000000..4020db9 --- /dev/null +++ b/assets/source/plane_02.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjk3lqbtvjs64" +path="res://.godot/imported/plane_02.png-8b33a4b74ab76c2899e86cb37ed79d24.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/source/plane_02.png" +dest_files=["res://.godot/imported/plane_02.png-8b33a4b74ab76c2899e86cb37ed79d24.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 diff --git a/assets/source/plane_03.png b/assets/source/plane_03.png new file mode 100644 index 0000000000000000000000000000000000000000..6c98a03a720c9116e45e83d6b4a44a975f67c7cf GIT binary patch literal 14607 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 literal 0 HcmV?d00001 diff --git a/assets/source/plane_03.png.import b/assets/source/plane_03.png.import new file mode 100644 index 0000000..69baa05 --- /dev/null +++ b/assets/source/plane_03.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cge0hbl1kox5i" +path="res://.godot/imported/plane_03.png-511bd1045c45b614ee2bbad36f4dd30b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/source/plane_03.png" +dest_files=["res://.godot/imported/plane_03.png-511bd1045c45b614ee2bbad36f4dd30b.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 diff --git a/project.godot b/project.godot index 39aade6..dcc53a9 100644 --- a/project.godot +++ b/project.godot @@ -8,6 +8,10 @@ config_version=5 +[animation] + +compatibility/default_parent_skeleton_in_mesh_instance_3d=true + [application] config/name="TonyGame" @@ -15,6 +19,14 @@ run/main_scene="uid://cu1mgc6337asm" config/features=PackedStringArray("4.6", "Forward Plus") config/icon="res://icon.svg" +[display] + +window/size/viewport_width=480 +window/size/viewport_height=270 +window/size/window_width_override=960 +window/size/window_height_override=540 +window/stretch/mode="viewport" + [input] shove={ diff --git a/scenes/coin.tscn b/scenes/coin.tscn new file mode 100644 index 0000000..56c7cb6 --- /dev/null +++ b/scenes/coin.tscn @@ -0,0 +1,114 @@ +[gd_scene format=3 uid="uid://csxat1xj18adr"] + +[ext_resource type="Script" uid="uid://b0yv2ybgsexuo" path="res://scripts/coin.gd" id="1_i64fm"] +[ext_resource type="Texture2D" uid="uid://bopiad53cmcgy" path="res://assets/pickups/coin.png" id="1_rwqht"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_i64fm"] +radius = 6.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_11l1o"] +atlas = ExtResource("1_rwqht") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d14el"] +atlas = ExtResource("1_rwqht") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1ikuy"] +atlas = ExtResource("1_rwqht") +region = Rect2(32, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wnlwo"] +atlas = ExtResource("1_rwqht") +region = Rect2(48, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jig8b"] +atlas = ExtResource("1_rwqht") +region = Rect2(64, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xmuha"] +atlas = ExtResource("1_rwqht") +region = Rect2(80, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kfxoj"] +atlas = ExtResource("1_rwqht") +region = Rect2(96, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jsmju"] +atlas = ExtResource("1_rwqht") +region = Rect2(112, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s0mny"] +atlas = ExtResource("1_rwqht") +region = Rect2(128, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7cc30"] +atlas = ExtResource("1_rwqht") +region = Rect2(144, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rojmm"] +atlas = ExtResource("1_rwqht") +region = Rect2(160, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ls27i"] +atlas = ExtResource("1_rwqht") +region = Rect2(176, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ssuvv"] +animations = [{ +"frames": [{ +"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") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ls27i") +}], +"loop": true, +"name": &"default", +"speed": 12.0 +}] + +[node name="Coin" type="Area2D" unique_id=502630344] +script = ExtResource("1_i64fm") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1378556551] +shape = SubResource("CircleShape2D_i64fm") +debug_color = Color(0.7224917, 0.478131, 0.045132324, 0.41960785) + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=722695418] +texture_filter = 1 +sprite_frames = SubResource("SpriteFrames_ssuvv") +autoplay = "default" +frame_progress = 0.47788367 + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/scenes/game.tscn b/scenes/game.tscn index ea0ac76..749db1e 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,11 +1,18 @@ [gd_scene format=4 uid="uid://cu1mgc6337asm"] [ext_resource type="Script" uid="uid://cv4ex134wdu7j" path="res://scripts/game.gd" id="1_lnu2h"] +[ext_resource type="Texture2D" uid="uid://b5dxi16fh76wk" path="res://assets/environment/background/sky.jpg" id="2_0tnpc"] [ext_resource type="Script" uid="uid://cclb4boli603j" path="res://scripts/scene_manager.gd" id="2_lbhrr"] [ext_resource type="Texture2D" uid="uid://bn4xd3wns5tfb" path="res://assets/environment/Terrain (32x32).png" id="2_p57ef"] +[ext_resource type="Texture2D" uid="uid://becbij5hhanvv" path="res://assets/environment/veggies/veg_32x32.png" id="3_gee14"] [ext_resource type="PackedScene" uid="uid://b2rjhbe4f20hw" path="res://scenes/crate.tscn" id="3_iywne"] +[ext_resource type="Texture2D" uid="uid://cpbknj8ab31he" path="res://assets/environment/background/midground.png" id="3_vtaks"] +[ext_resource type="Texture2D" uid="uid://ca5a1gspb2ybj" path="res://assets/environment/veggies/mushroom_32x64.png" id="4_0tnpc"] +[ext_resource type="Texture2D" uid="uid://c7fi0j51h2qj1" path="res://assets/environment/background/foreground.png" id="4_kvpfn"] +[ext_resource type="Texture2D" uid="uid://bbmpgf1gb5yec" path="res://assets/environment/flavour/plane.png" id="5_dinhu"] [ext_resource type="PackedScene" uid="uid://csp8sgbqjmndx" path="res://scenes/player.tscn" id="5_iywne"] [ext_resource type="PackedScene" uid="uid://cq5l3f6hna0kg" path="res://scenes/trigger.tscn" id="5_p57ef"] +[ext_resource type="PackedScene" uid="uid://csxat1xj18adr" path="res://scenes/coin.tscn" id="6_kvuet"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u5sy4"] texture = ExtResource("2_p57ef") @@ -384,13 +391,35 @@ texture_region_size = Vector2i(32, 32) 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("3_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("4_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_gee14"] tile_size = Vector2i(32, 32) physics_layer_0/collision_layer = 1 terrain_set_0/mode = 0 terrain_set_0/terrain_0/name = "LeafyGreen" terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) +terrain_set_0/terrain_1/name = "Veggies" +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_8cj0n"] @@ -399,8 +428,41 @@ sources/0 = SubResource("TileSetAtlasSource_u5sy4") [node name="Game" type="Node2D" unique_id=304719081] script = ExtResource("1_lnu2h") +[node name="bg" type="Node2D" parent="." unique_id=111481684] + +[node name="Sky" type="Parallax2D" parent="bg" unique_id=574624135] +repeat_size = Vector2(480, 270) + +[node name="Sprite2D" type="Sprite2D" parent="bg/Sky" unique_id=1502194835] +texture = ExtResource("2_0tnpc") +offset = Vector2(240, 135) + +[node name="Midground" type="Parallax2D" parent="bg" unique_id=1094078453] +scroll_scale = Vector2(1.05, 1.05) +repeat_size = Vector2(480, 0) + +[node name="Sprite2D" type="Sprite2D" parent="bg/Midground" unique_id=389340868] +texture_filter = 1 +texture = ExtResource("3_vtaks") +offset = Vector2(240, 300) + +[node name="Foreground" type="Parallax2D" parent="bg" unique_id=82010650] +scroll_scale = Vector2(1.15, 1) +repeat_size = Vector2(480, 0) + +[node name="Sprite2D" type="Sprite2D" parent="bg/Foreground" unique_id=1899128896] +texture_filter = 1 +texture = ExtResource("4_kvpfn") +offset = Vector2(240, 300) + +[node name="plane" type="Sprite2D" parent="bg" unique_id=1026729838] +texture_filter = 1 +position = Vector2(721, 335) +texture = ExtResource("5_dinhu") + [node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=34853801] -tile_map_data = PackedByteArray("AAADAA0AAAAAAAQAAAAEAA0AAAABAAQAAAAFAA0AAAABAAQAAAAGAA0AAAABAAQAAAAHAA0AAAABAAQAAAAIAA0AAAABAAQAAAAJAA0AAAABAAQAAAAKAA0AAAABAAQAAAALAA0AAAABAAQAAAAMAA0AAAABAAQAAAAJABAAAAABAAAAAAAKABAAAAACAAAAAAAGABAAAAAAAAAAAAAGABEAAAAKAAQAAAAFABEAAAABAAQAAAAEABEAAAABAAQAAAAIABAAAAABAAAAAAAIABEAAAABAAIAAAAJABEAAAAHAAAAAAAKABEAAAAGAAEAAAALABEAAAACAAAAAAALABIAAAAGAAEAAAAMABIAAAABAAAAAAANABIAAAACAAAAAAASABIAAAABAAQAAAATABIAAAAQAAQAAAATABEAAAAEAAEAAAATABAAAAAPAAMAAAAUABAAAAAQAAQAAAAUAA8AAAAGAAMAAAAVAA8AAAABAAIAAAAWAA8AAAACAAIAAAAWAA4AAAAJAAMAAAAXAA4AAAABAAQAAAAYAA4AAAACAAQAAAAVAA4AAAABAAAAAAAUAA4AAAAKAAMAAAATAA4AAAABAAQAAAASAA4AAAAAAAQAAAADABEAAAAPAAMAAAAHABAAAAABAAAAAAAHABEAAAABAAIAAAANABMAAAACAAIAAAAMABMAAAABAAIAAAALABMAAAABAAIAAAAKABMAAAAAAAIAAAAKABIAAAAHAAAAAAAJABIAAAAAAAIAAAARABIAAAAAAAQAAAAQAAsAAAABAAQAAAARAAsAAAABAAQAAAASAAsAAAABAAQAAAATAAsAAAABAAQAAAAPAAsAAAAPAAMAAAAPAAwAAAAQAAQAAAAOAAwAAAAPAAMAAAAOAA0AAAAQAAQAAAANAA0AAAABAAQAAAADABIAAAAQAAQAAAACABIAAAAAAAQAAAAeAA0AAAAEAAIAAAAeAAwAAAAEAAEAAAAeAAsAAAAEAAEAAAAeAAoAAAAEAAEAAAAeAAkAAAAEAAEAAAAeAAgAAAAEAAEAAAAeAAcAAAAEAAAAAAAUAAsAAAABAAQAAAAVAAsAAAABAAQAAAAWAAsAAAABAAQAAAAXAAsAAAABAAQAAAAYAAsAAAACAAQAAAA=") +texture_filter = 1 +tile_map_data = PackedByteArray("AAADAA0AAAABAAQAAAAEAA0AAAABAAQAAAAFAA0AAAABAAQAAAAGAA0AAAABAAQAAAAHAA0AAAABAAQAAAAIAA0AAAABAAQAAAAJAA0AAAABAAQAAAAKAA0AAAABAAQAAAALAA0AAAABAAQAAAAMAA0AAAABAAQAAAAJABAAAAABAAAAAAAKABAAAAACAAAAAAAGABAAAAAAAAAAAAAGABEAAAAKAAQAAAAFABEAAAABAAQAAAAEABEAAAABAAQAAAAIABAAAAABAAAAAAAIABEAAAABAAIAAAAJABEAAAAHAAAAAAAKABEAAAAGAAEAAAALABEAAAACAAAAAAALABIAAAAGAAEAAAAMABIAAAABAAAAAAANABIAAAACAAAAAAASABIAAAABAAQAAAATABIAAAAQAAQAAAATABEAAAAEAAEAAAATABAAAAAPAAMAAAAUABAAAAAQAAQAAAAUAA8AAAAGAAMAAAAVAA8AAAABAAIAAAAWAA8AAAACAAIAAAAWAA4AAAAJAAMAAAAXAA4AAAABAAQAAAAYAA4AAAACAAQAAAAVAA4AAAABAAAAAAAUAA4AAAAKAAMAAAATAA4AAAABAAQAAAASAA4AAAAAAAQAAAADABEAAAAPAAMAAAAHABAAAAABAAAAAAAHABEAAAABAAIAAAANABMAAAACAAIAAAAMABMAAAABAAIAAAALABMAAAABAAIAAAAKABMAAAAAAAIAAAAKABIAAAAHAAAAAAAJABIAAAAAAAIAAAARABIAAAAAAAQAAAAQAAsAAAABAAQAAAARAAsAAAABAAQAAAASAAsAAAABAAQAAAATAAsAAAABAAQAAAAPAAsAAAAPAAMAAAAPAAwAAAAQAAQAAAAOAAwAAAAPAAMAAAAOAA0AAAAQAAQAAAANAA0AAAABAAQAAAADABIAAAAQAAQAAAACABIAAAAAAAQAAAAeAA0AAAAEAAIAAAAeAAwAAAAEAAEAAAAeAAsAAAAEAAEAAAAeAAoAAAAEAAEAAAAeAAkAAAAEAAEAAAAeAAgAAAAEAAEAAAAeAAcAAAAEAAAAAAAUAAsAAAABAAQAAAAVAAsAAAABAAQAAAAWAAsAAAABAAQAAAAXAAsAAAABAAQAAAAYAAsAAAACAAQAAAAKAAwAAQAAAAAAAAAQAAoAAQAAAAAAAAAWAAoAAQAAAAAAAAAMABEAAgAAAAEAAAAMABAAAgAAAAAAAAAVAA0AAgAAAAEAAAAVAAwAAgAAAAAAAAAFAAwAAgAAAAEAAAAFAAsAAgAAAAAAAAACAA0AAAABAAQAAAABAA0AAAABAAQAAAAAAA0AAAABAAQAAAD//w0AAAABAAQAAAD+/w0AAAABAAQAAAD9/w0AAAABAAQAAAD8/w0AAAABAAQAAAD7/w0AAAABAAQAAAD6/w0AAAABAAQAAAD5/w0AAAABAAQAAAD4/w0AAAABAAQAAAD3/w0AAAABAAQAAAD2/w0AAAABAAQAAAD1/w0AAAABAAQAAAD0/w0AAAABAAQAAADz/w0AAAABAAQAAADy/w0AAAABAAQAAADx/w0AAAABAAQAAADw/w0AAAABAAQAAADv/w0AAAABAAQAAADu/w0AAAABAAQAAADt/w0AAAABAAQAAADs/w0AAAABAAQAAADr/w0AAAABAAQAAADq/w0AAAABAAQAAADp/w0AAAABAAQAAADo/w0AAAABAAQAAADn/w0AAAABAAQAAADm/w0AAAABAAQAAADl/w0AAAABAAQAAADk/w0AAAABAAQAAADj/w0AAAABAAQAAADi/w0AAAABAAQAAADh/w0AAAABAAQAAADg/w0AAAABAAQAAADf/w0AAAABAAQAAADe/w0AAAABAAQAAADd/w0AAAABAAQAAADc/w0AAAABAAQAAADb/w0AAAABAAQAAADa/w0AAAABAAQAAADZ/w0AAAABAAQAAADY/w0AAAABAAQAAADX/w0AAAABAAQAAADW/w0AAAAAAAQAAAA=") tile_set = SubResource("TileSet_gee14") [node name="SceneManager" type="Node2D" parent="." unique_id=277183513] @@ -463,6 +525,17 @@ intent = "fan" position = Vector2(265, 56) intent = "teleport" +[node name="Coins" type="Node2D" parent="." unique_id=1797184377] + +[node name="Coin" parent="Coins" unique_id=502630344 instance=ExtResource("6_kvuet")] +position = Vector2(416, 384) + +[node name="Coin2" parent="Coins" unique_id=1727652834 instance=ExtResource("6_kvuet")] +position = Vector2(708, 275) + +[node name="Coin3" parent="Coins" unique_id=1081842692 instance=ExtResource("6_kvuet")] +position = Vector2(38, 389) + [connection signal="areaTriggerSignal" from="Triggers/Trigger" to="." method="_on_trigger"] [connection signal="areaTriggerSignal" from="Triggers/Trigger2" to="." method="_on_trigger"] [connection signal="areaTriggerSignal" from="Triggers/Trigger5" to="." method="_on_trigger"] diff --git a/scenes/player.tscn b/scenes/player.tscn index e5307a9..efad261 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -246,4 +246,6 @@ autoplay = "idle" frame = 2 frame_progress = 1.0 +[node name="Camera2D" type="Camera2D" parent="." unique_id=657225843] + [connection signal="animation_finished" from="PlayerGraphic" to="." method="_on_animation_finished"] diff --git a/scripts/coin.gd b/scripts/coin.gd new file mode 100644 index 0000000..a9cf456 --- /dev/null +++ b/scripts/coin.gd @@ -0,0 +1,7 @@ +class_name Coin extends Area2D +signal coinCollectedSignal(body,coin) + +func _on_body_entered(body: Node2D) -> void: + if body is Player: + print("Coin hit") + coinCollectedSignal.emit(body,self) diff --git a/scripts/coin.gd.uid b/scripts/coin.gd.uid new file mode 100644 index 0000000..46cd467 --- /dev/null +++ b/scripts/coin.gd.uid @@ -0,0 +1 @@ +uid://b0yv2ybgsexuo diff --git a/scripts/game.gd b/scripts/game.gd index 6c80dbe..d176594 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -6,6 +6,7 @@ signal teleportTriggerSignal(body) var numberOfCrates = 2 var timeAvailable = 50 var timer = Timer.new() +var totalCoinsCollected = 0 # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -31,8 +32,9 @@ func _process(delta: float) -> void: func _on_trigger(body: Variant, trigger: Variant, intent: String) -> void: print("Game controller knows trigger fired") match intent: - "destroy": - destroySignal.emit(body) + "destroy": + if body is RigidBody2D: + destroySignal.emit(body) "fan": fanTriggerSignal.emit(body,Vector2(0,-1)*100*9) print("fan effect") @@ -40,12 +42,21 @@ func _on_trigger(body: Variant, trigger: Variant, intent: String) -> void: print("teleport effect") teleportTriggerSignal.emit(body) +func coinCollected(body,coin) -> void: + print("GC knows coin collected") + totalCoinsCollected += 1 + destroySignal.emit(coin) + func crateTotal(numOfCrates): numberOfCrates = numOfCrates print("Game controller knows about crates - there are: " + str(numOfCrates)) if numberOfCrates == 0: print("WINNER!!!") get_tree().reload_current_scene() + +func coinTotal(totalAmount) -> void: + print("GC knows total coins: "+str(totalAmount)) + func bulletDamage(body, _bullet) -> void: if body.is_in_group("shootable"): diff --git a/scripts/scene_manager.gd b/scripts/scene_manager.gd index d422d9c..c73a2ac 100644 --- a/scripts/scene_manager.gd +++ b/scripts/scene_manager.gd @@ -2,6 +2,8 @@ extends Node2D @onready var game: GameController = $".." @onready var crates: Node2D = $"../Crates" @onready var player: Player = $"../Player" +@onready var coin: Coin = $"../Coins/Coin" +@onready var coins: Node2D = $"../Coins" var bullet = preload("res://scenes/bullet.tscn") var bulletArray:Array[Bullet] = [] @@ -16,6 +18,8 @@ func _ready() -> void: game.destroySignal.connect(destroy) game.fanTriggerSignal.connect(pushTarget) game.teleportTriggerSignal.connect(teleportTarget) + # signals from pickups + coin.coinCollectedSignal.connect(game.coinCollected) buildLevel() # Called every frame. 'delta' is the elapsed time since the previous frame. @@ -24,6 +28,7 @@ func _process(delta: float) -> void: func buildLevel() -> void: updateCrates() + updateCoins() func updateCrates() -> void: var totalCrates = 0 @@ -34,6 +39,14 @@ func updateCrates() -> void: obj.tree_exited.connect(updateCrates) totalCrates += 1 game.crateTotal(totalCrates) + +func updateCoins() -> void: + var totalCoins = 0 + if coins: + for obj in coins.get_children(): + if obj is Coin: + totalCoins += 1 + game.coinTotal(totalCoins) func pushTarget(body,pushDirection) -> void: if body is RigidBody2D: