From 54f9fda72edc31a6f0547b5c9e20d1b9c8bbf73c Mon Sep 17 00:00:00 2001 From: OddlyTimbot Date: Mon, 5 May 2025 21:06:50 -0400 Subject: [PATCH] lighting, parallax, tilemap --- .../graphics/background/forestbackground.png | Bin 0 -> 7521 bytes .../background/forestbackground.png.import | 34 ++ .../background/forestbackground_mid.png | Bin 0 -> 7156 bytes .../forestbackground_mid.png.import | 34 ++ assets/graphics/background/plane.png | Bin 0 -> 9262 bytes assets/graphics/background/plane.png.import | 34 ++ assets/graphics/background/sky_far.png | Bin 0 -> 670 bytes assets/graphics/background/sky_far.png.import | 34 ++ .../graphics/background/trees_foreground.png | Bin 0 -> 1918 bytes .../background/trees_foreground.png.import | 34 ++ .../player/idle/Player Idle 48x48.png | Bin 1853 -> 1412 bytes .../terrain/vegetation/mushroom_32x64.png | Bin 0 -> 2206 bytes .../vegetation/mushroom_32x64.png.import | 34 ++ .../graphics/terrain/vegetation/veg_32x32.png | Bin 0 -> 675 bytes .../terrain/vegetation/veg_32x32.png.import | 34 ++ scenes/game.tscn | 382 +++++++++++++++++- scenes/player.tscn | 17 +- scripts/player.gd | 20 +- 18 files changed, 640 insertions(+), 17 deletions(-) create mode 100644 assets/graphics/background/forestbackground.png create mode 100644 assets/graphics/background/forestbackground.png.import create mode 100644 assets/graphics/background/forestbackground_mid.png create mode 100644 assets/graphics/background/forestbackground_mid.png.import create mode 100644 assets/graphics/background/plane.png create mode 100644 assets/graphics/background/plane.png.import create mode 100644 assets/graphics/background/sky_far.png create mode 100644 assets/graphics/background/sky_far.png.import create mode 100644 assets/graphics/background/trees_foreground.png create mode 100644 assets/graphics/background/trees_foreground.png.import create mode 100644 assets/graphics/terrain/vegetation/mushroom_32x64.png create mode 100644 assets/graphics/terrain/vegetation/mushroom_32x64.png.import create mode 100644 assets/graphics/terrain/vegetation/veg_32x32.png create mode 100644 assets/graphics/terrain/vegetation/veg_32x32.png.import diff --git a/assets/graphics/background/forestbackground.png b/assets/graphics/background/forestbackground.png new file mode 100644 index 0000000000000000000000000000000000000000..975c185ca0a69fb6d672f68b36f8df4fe31d28b9 GIT binary patch literal 7521 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 literal 0 HcmV?d00001 diff --git a/assets/graphics/background/forestbackground_mid.png.import b/assets/graphics/background/forestbackground_mid.png.import new file mode 100644 index 0000000..b599964 --- /dev/null +++ b/assets/graphics/background/forestbackground_mid.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://uswj5ignpua4" +path="res://.godot/imported/forestbackground_mid.png-5b7094629076846d134a2bfdea519d1d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/background/forestbackground_mid.png" +dest_files=["res://.godot/imported/forestbackground_mid.png-5b7094629076846d134a2bfdea519d1d.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/assets/graphics/background/plane.png b/assets/graphics/background/plane.png new file mode 100644 index 0000000000000000000000000000000000000000..fc02628063aadaf2011d3a82d456473df13b03ee GIT binary patch literal 9262 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 literal 0 HcmV?d00001 diff --git a/assets/graphics/background/plane.png.import b/assets/graphics/background/plane.png.import new file mode 100644 index 0000000..3cf6fcd --- /dev/null +++ b/assets/graphics/background/plane.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bu2davrqnpe" +path="res://.godot/imported/plane.png-e62a8d1a3f3bfdfe1d44089d7bf28e27.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/background/plane.png" +dest_files=["res://.godot/imported/plane.png-e62a8d1a3f3bfdfe1d44089d7bf28e27.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/assets/graphics/background/sky_far.png b/assets/graphics/background/sky_far.png new file mode 100644 index 0000000000000000000000000000000000000000..72be57a2620507e01f72949131daab544b87ed91 GIT binary patch literal 670 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yow{Wll$)``g3IZvXbVpxD28NCO+08qI7XSVL0T;}zOme}4A59S~72-Yx*#D^y<&S6SCkqQAQHKBq8 zknt>VH~|1s?CItb!0ewI?DWwK)fq_>>-L&YrbEV8^y8xT`jT?& zNvkb>rp0clN46Pl^$Q#fOp-eeH}5sa%uTcki8Xcn9cJrC{y)V#Ax}w(ssm_erYKhj zkiyFbm)B&gT@VaSqJ3F)nw;_ufI%L8@y##k+{b7VgM|aP9>~(h8(UovI5yY@lkSCS zRodFx2Er25cf0(esYN;Vy4N5}n;lRY%bPIV1Jm6xH?8J6h$E76v8?P(WWnP@$CU)5 zB$XWpsC5QuM$)HfjaFv_u8}Kzotdv71D(BA*(R_eg%KW2a_wH}zAO-pE4A2K1Zq;j z0V;Z6Wn#YyPo)wWPOpONvHk9wo0>1z?f{iT^U{U41RKU6BtF8imJg4@>I||TT9;TFjb)ft4SFu-+eyzw>v+v?Kf*y&y`%!AmFRFa!XMv`4#c6EdC1h~Z`kFB<< z?$7-Kb}bV-V?HmGBPum*yso%y=($Q$bQ#3kAIZgts<%X!^37?oRoWeB9OxhKAjoHW zc#^a>S>At>kzR?CQxvtJMM=jVa$gzm)*bly3e7DzfZ8IxEZP3s-fx#eIroHdAO9XJ zP~iF6E%ImnPmm4BB>6}e6k>R(m(-@s#^-aj$vbPXZ`OAG2URgs8Uw#um>t0hf+yjY zK#U;1zo>`QR-1qbJ)%F(6e|dd7##%l@3fUu>h~M4Xdh zU)P5+ZbrPp8S|x^($AY@?czGnyB5h;(x0PA>UbGeX{E&uaLz64QE~kM?H_x-7JlYT zNyLi^BoA&&3k={i2@mS$0KLq>-jRwT-E(LXy8{|m!%+CKIfh=lU@mvZpsUdJiPj6Po<*ZgEBB;`Aos6f~H>j6hP$hCj zruy{}DXt~Ca7FuRdG+kCjHmv2I$Y63L)M3*_&70kd>O6JE?DcKaIQaLuHF%spMOyc zo!VWGjL0_OV%c_o9wjKw;sL9B-ffC4CiQwNv^O)#(4;gbf$agELU4mP*P@Cw=DkXm zXm$1{?t}X?w_I)zj#7@jHxSq!Hml{!>K)V9hK78?{_1=`(|stR5ffY>BJxJ*S|_{1 z!oq4~GCILD5@mT@`e9_a`OJICL^RRfG0@_lDNs=eQkRwSQU&Lby=Y)jm}d+!dT@*V z*7L;im)jgu=PXy2zY5}G8Cl#R$T|^kMewQ=^BRto$HttlmJhcRG@WZtBQl!>Qe8eZ zs_Vn-{QTUD8?0(y6soddWOJ4vRB7B2Ix}ord{XZtWR3NaCnvvSnK*BvOr8`2O9sNO zq}Js#(ofaW5#S55X?L09H_FPZX9fHCm;Qmp8L0m;p}a;ULTn3hs2DDQf!|p4?fpeMEzePQ}bjo^>y?J6YDlwfL?IvzoL!g<4hatS{GP+7 zXW8fcR?#2r5Hts+Nd+=5`5~W9k6xOW*?MlLgocJxh_%@i*ho9y?GzT~ zyY}ep#mMbdoRyWiDOu3Y-~NE#ef@Lo?WMz<3oDKHitU=4{I9-!SHs~j!sku`2}LzQ zpg1U8X~Wt!-+S(P8@GS@Vvw~foxtqq z9t|h<4g0=ucQ0f8vTsUn5IUggL}15jET{~&FLaq@ygZ7*?OuZmDJKHV`qN*1e?^`@ L`ncV3rJnm2bn!;K literal 0 HcmV?d00001 diff --git a/assets/graphics/background/trees_foreground.png.import b/assets/graphics/background/trees_foreground.png.import new file mode 100644 index 0000000..11f2a17 --- /dev/null +++ b/assets/graphics/background/trees_foreground.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfbvrcr2cxndb" +path="res://.godot/imported/trees_foreground.png-41fd28b4c519661740065de2874a011c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/background/trees_foreground.png" +dest_files=["res://.godot/imported/trees_foreground.png-41fd28b4c519661740065de2874a011c.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/assets/graphics/player/idle/Player Idle 48x48.png b/assets/graphics/player/idle/Player Idle 48x48.png index b618511699269f9bd10ff834f6b382e147588ebd..3a4081f5caac2110ef5a8d643f42e9f3a8060ad9 100644 GIT binary patch literal 1412 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 JPDHLkV1hjJ7cT$+ literal 0 HcmV?d00001 diff --git a/assets/graphics/terrain/vegetation/veg_32x32.png.import b/assets/graphics/terrain/vegetation/veg_32x32.png.import new file mode 100644 index 0000000..2e9d647 --- /dev/null +++ b/assets/graphics/terrain/vegetation/veg_32x32.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfkcsnjdu1hyu" +path="res://.godot/imported/veg_32x32.png-bf2a8a729cda480430649d77b20ab720.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/terrain/vegetation/veg_32x32.png" +dest_files=["res://.godot/imported/veg_32x32.png-bf2a8a729cda480430649d77b20ab720.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/scenes/game.tscn b/scenes/game.tscn index ac5997d..d333a0a 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,67 +1,400 @@ -[gd_scene load_steps=12 format=3 uid="uid://cwuxdg5c8ylmp"] +[gd_scene load_steps=20 format=4 uid="uid://cwuxdg5c8ylmp"] [ext_resource type="Script" uid="uid://cw3ucen7ivcu3" path="res://scripts/gamecontroller.gd" id="1_wj22x"] [ext_resource type="Script" uid="uid://bus3b1g717jlm" path="res://scripts/scene_manager.gd" id="2_lbhrr"] [ext_resource type="PackedScene" uid="uid://cgk1d1f5ffbbd" path="res://scenes/player.tscn" id="2_lnu2h"] [ext_resource type="PackedScene" uid="uid://clf5mhteceas4" path="res://scenes/trigger.tscn" id="3_jlag1"] [ext_resource type="Texture2D" uid="uid://c386aypkw54oc" path="res://assets/graphics/terrain/Terrain (32x32).png" id="3_u5sy4"] +[ext_resource type="Texture2D" uid="uid://dhkx31lax12gl" path="res://assets/graphics/background/sky_far.png" id="3_vtaks"] +[ext_resource type="Texture2D" uid="uid://dq8nlvjv522pc" path="res://assets/graphics/terrain/vegetation/mushroom_32x64.png" id="4_0tnpc"] [ext_resource type="PackedScene" uid="uid://cym46ub26gs80" path="res://scenes/crate.tscn" id="4_iywne"] +[ext_resource type="Texture2D" uid="uid://uswj5ignpua4" path="res://assets/graphics/background/forestbackground_mid.png" id="4_kvpfn"] +[ext_resource type="Texture2D" uid="uid://cfbvrcr2cxndb" path="res://assets/graphics/background/trees_foreground.png" id="5_dinhu"] +[ext_resource type="Texture2D" uid="uid://cfkcsnjdu1hyu" path="res://assets/graphics/terrain/vegetation/veg_32x32.png" id="5_vtaks"] +[ext_resource type="Texture2D" uid="uid://bu2davrqnpe" path="res://assets/graphics/background/plane.png" id="6_kvuet"] [ext_resource type="PackedScene" uid="uid://c633ux67ehud7" path="res://scenes/bullet.tscn" id="6_p57ef"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"] texture = ExtResource("3_u5sy4") texture_region_size = Vector2i(32, 32) 0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:0/0/terrains_peering_bit/right_side = 0 +0:0/0/terrains_peering_bit/bottom_right_corner = 0 +0:0/0/terrains_peering_bit/bottom_side = 0 1:0/0 = 0 +1:0/0/terrain_set = 0 +1:0/0/terrain = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:0/0/terrains_peering_bit/right_side = 0 +1:0/0/terrains_peering_bit/bottom_right_corner = 0 +1:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0/terrains_peering_bit/bottom_left_corner = 0 +1:0/0/terrains_peering_bit/left_side = 0 2:0/0 = 0 +2:0/0/terrain_set = 0 +2:0/0/terrain = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:0/0/terrains_peering_bit/bottom_side = 0 +2:0/0/terrains_peering_bit/bottom_left_corner = 0 +2:0/0/terrains_peering_bit/left_side = 0 4:0/0 = 0 +4:0/0/terrain_set = 0 +4:0/0/terrain = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:0/0/terrains_peering_bit/bottom_side = 0 6:0/0 = 0 +6:0/0/terrain_set = 0 +6:0/0/terrain = 0 +6:0/0/terrains_peering_bit/right_side = 0 +6:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0/terrains_peering_bit/bottom_left_corner = 0 +6:0/0/terrains_peering_bit/left_side = 0 +6:0/0/terrains_peering_bit/top_left_corner = 0 +6:0/0/terrains_peering_bit/top_side = 0 +6:0/0/terrains_peering_bit/top_right_corner = 0 7:0/0 = 0 +7:0/0/terrain_set = 0 +7:0/0/terrain = 0 +7:0/0/terrains_peering_bit/right_side = 0 +7:0/0/terrains_peering_bit/bottom_right_corner = 0 +7:0/0/terrains_peering_bit/bottom_side = 0 +7:0/0/terrains_peering_bit/left_side = 0 +7:0/0/terrains_peering_bit/top_left_corner = 0 +7:0/0/terrains_peering_bit/top_side = 0 +7:0/0/terrains_peering_bit/top_right_corner = 0 9:0/0 = 0 +9:0/0/terrain_set = 0 +9:0/0/terrain = 0 +9:0/0/terrains_peering_bit/right_side = 0 +9:0/0/terrains_peering_bit/bottom_right_corner = 0 +9:0/0/terrains_peering_bit/bottom_side = 0 +9:0/0/terrains_peering_bit/bottom_left_corner = 0 +9:0/0/terrains_peering_bit/left_side = 0 +9:0/0/terrains_peering_bit/top_side = 0 10:0/0 = 0 +10:0/0/terrain_set = 0 +10:0/0/terrain = 0 +10:0/0/terrains_peering_bit/right_side = 0 +10:0/0/terrains_peering_bit/bottom_side = 0 +10:0/0/terrains_peering_bit/bottom_left_corner = 0 +10:0/0/terrains_peering_bit/left_side = 0 +10:0/0/terrains_peering_bit/top_left_corner = 0 +10:0/0/terrains_peering_bit/top_side = 0 12:0/0 = 0 +12:0/0/terrain_set = 0 +12:0/0/terrain = 0 +12:0/0/terrains_peering_bit/right_side = 0 +12:0/0/terrains_peering_bit/bottom_right_corner = 0 +12:0/0/terrains_peering_bit/bottom_side = 0 +12:0/0/terrains_peering_bit/left_side = 0 +12:0/0/terrains_peering_bit/top_side = 0 13:0/0 = 0 +13:0/0/terrain_set = 0 +13:0/0/terrain = 0 +13:0/0/terrains_peering_bit/right_side = 0 +13:0/0/terrains_peering_bit/bottom_side = 0 +13:0/0/terrains_peering_bit/bottom_left_corner = 0 +13:0/0/terrains_peering_bit/left_side = 0 +13:0/0/terrains_peering_bit/top_side = 0 15:0/0 = 0 +15:0/0/terrain_set = 0 +15:0/0/terrain = 0 +15:0/0/terrains_peering_bit/right_side = 0 +15:0/0/terrains_peering_bit/bottom_side = 0 +15:0/0/terrains_peering_bit/left_side = 0 +15:0/0/terrains_peering_bit/top_side = 0 0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:1/0/terrains_peering_bit/right_side = 0 +0:1/0/terrains_peering_bit/bottom_right_corner = 0 +0:1/0/terrains_peering_bit/bottom_side = 0 +0:1/0/terrains_peering_bit/top_side = 0 +0:1/0/terrains_peering_bit/top_right_corner = 0 1:1/0 = 0 2:1/0 = 0 +2:1/0/terrain_set = 0 +2:1/0/terrain = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:1/0/terrains_peering_bit/bottom_side = 0 +2:1/0/terrains_peering_bit/bottom_left_corner = 0 +2:1/0/terrains_peering_bit/left_side = 0 +2:1/0/terrains_peering_bit/top_left_corner = 0 +2:1/0/terrains_peering_bit/top_side = 0 4:1/0 = 0 +4:1/0/terrain_set = 0 +4:1/0/terrain = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:1/0/terrains_peering_bit/bottom_side = 0 +4:1/0/terrains_peering_bit/top_side = 0 6:1/0 = 0 +6:1/0/terrain_set = 0 +6:1/0/terrain = 0 +6:1/0/terrains_peering_bit/right_side = 0 +6:1/0/terrains_peering_bit/bottom_right_corner = 0 +6:1/0/terrains_peering_bit/bottom_side = 0 +6:1/0/terrains_peering_bit/bottom_left_corner = 0 +6:1/0/terrains_peering_bit/left_side = 0 +6:1/0/terrains_peering_bit/top_left_corner = 0 +6:1/0/terrains_peering_bit/top_side = 0 7:1/0 = 0 +7:1/0/terrain_set = 0 +7:1/0/terrain = 0 +7:1/0/terrains_peering_bit/right_side = 0 +7:1/0/terrains_peering_bit/bottom_right_corner = 0 +7:1/0/terrains_peering_bit/bottom_side = 0 +7:1/0/terrains_peering_bit/bottom_left_corner = 0 +7:1/0/terrains_peering_bit/left_side = 0 +7:1/0/terrains_peering_bit/top_side = 0 +7:1/0/terrains_peering_bit/top_right_corner = 0 9:1/0 = 0 +9:1/0/terrain_set = 0 +9:1/0/terrain = 0 +9:1/0/terrains_peering_bit/right_side = 0 +9:1/0/terrains_peering_bit/bottom_right_corner = 0 +9:1/0/terrains_peering_bit/bottom_side = 0 +9:1/0/terrains_peering_bit/left_side = 0 +9:1/0/terrains_peering_bit/top_side = 0 +9:1/0/terrains_peering_bit/top_right_corner = 0 10:1/0 = 0 +10:1/0/terrain_set = 0 +10:1/0/terrain = 0 +10:1/0/terrains_peering_bit/right_side = 0 +10:1/0/terrains_peering_bit/bottom_side = 0 +10:1/0/terrains_peering_bit/left_side = 0 +10:1/0/terrains_peering_bit/top_left_corner = 0 +10:1/0/terrains_peering_bit/top_side = 0 +10:1/0/terrains_peering_bit/top_right_corner = 0 12:1/0 = 0 +12:1/0/terrain_set = 0 +12:1/0/terrain = 0 +12:1/0/terrains_peering_bit/right_side = 0 +12:1/0/terrains_peering_bit/bottom_side = 0 +12:1/0/terrains_peering_bit/left_side = 0 +12:1/0/terrains_peering_bit/top_side = 0 +12:1/0/terrains_peering_bit/top_right_corner = 0 13:1/0 = 0 +13:1/0/terrain_set = 0 +13:1/0/terrain = 0 +13:1/0/terrains_peering_bit/right_side = 0 +13:1/0/terrains_peering_bit/bottom_side = 0 +13:1/0/terrains_peering_bit/left_side = 0 +13:1/0/terrains_peering_bit/top_left_corner = 0 +13:1/0/terrains_peering_bit/top_side = 0 15:1/0 = 0 +15:1/0/terrain_set = 0 +15:1/0/terrain = 0 +15:1/0/terrains_peering_bit/right_side = 0 +15:1/0/terrains_peering_bit/bottom_side = 0 +15:1/0/terrains_peering_bit/bottom_left_corner = 0 +15:1/0/terrains_peering_bit/left_side = 0 +15:1/0/terrains_peering_bit/top_side = 0 +15:1/0/terrains_peering_bit/top_right_corner = 0 16:1/0 = 0 +16:1/0/terrain_set = 0 +16:1/0/terrain = 0 +16:1/0/terrains_peering_bit/right_side = 0 +16:1/0/terrains_peering_bit/bottom_right_corner = 0 +16:1/0/terrains_peering_bit/bottom_side = 0 +16:1/0/terrains_peering_bit/left_side = 0 +16:1/0/terrains_peering_bit/top_left_corner = 0 +16:1/0/terrains_peering_bit/top_side = 0 0:2/0 = 0 +0:2/0/terrain_set = 0 +0:2/0/terrain = 0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:2/0/terrains_peering_bit/right_side = 0 +0:2/0/terrains_peering_bit/top_side = 0 +0:2/0/terrains_peering_bit/top_right_corner = 0 1:2/0 = 0 +1:2/0/terrain_set = 0 +1:2/0/terrain = 0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:2/0/terrains_peering_bit/right_side = 0 +1:2/0/terrains_peering_bit/left_side = 0 +1:2/0/terrains_peering_bit/top_left_corner = 0 +1:2/0/terrains_peering_bit/top_side = 0 +1:2/0/terrains_peering_bit/top_right_corner = 0 2:2/0 = 0 +2:2/0/terrain_set = 0 +2:2/0/terrain = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:2/0/terrains_peering_bit/left_side = 0 +2:2/0/terrains_peering_bit/top_left_corner = 0 +2:2/0/terrains_peering_bit/top_side = 0 4:2/0 = 0 +4:2/0/terrain_set = 0 +4:2/0/terrain = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:2/0/terrains_peering_bit/top_side = 0 6:3/0 = 0 +6:3/0/terrain_set = 0 +6:3/0/terrain = 0 +6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 0, -16, -0.31863, 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(2.54905, -16, 16, -16, 16, 16, 2.54905, 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, -3.18631, -16, -1.59315) +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, -3.18631, -16, -1.59315) +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, -6.69124, -16, -7.00988, 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, -3.82357, -16, -2.86768) +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, -0.955893, -0.955891, -0.955893, -0.63726, 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, 1.27452, 16, 0, -0.31863, -16, -0.955893) +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/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/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, 0, -16, -0.31863, 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(2.54905, -16, 16, -16, 16, 16, 2.54905, 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.63726, 16, -0.955893, 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.63726, 16, -0.955893, 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, 3.50494, 16, 3.18631, 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(5.73536, -16, 16, -16, 16, 16, 5.09809, 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(0, -16, 1.59315, 0.63726, 16, 0.955891, 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(0.637264, -16, 16, -16, 16, 16, -16, 16, -16, 0.955891, 1.59315, 1.91179) +16:4/0/terrains_peering_bit/left_side = 0 +16:4/0/terrains_peering_bit/top_side = 0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kvpfn"] +texture = ExtResource("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="TileSetAtlasSource" id="TileSetAtlasSource_dinhu"] +texture = ExtResource("5_vtaks") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 1 [sub_resource type="TileSet" id="TileSet_0tnpc"] tile_size = Vector2i(32, 32) +physics_layer_0/collision_layer = 1 +terrain_set_0/mode = 0 +terrain_set_0/terrain_0/name = "LeafyRocks" +terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1) +terrain_set_0/terrain_1/name = "veg" +terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1) sources/0 = SubResource("TileSetAtlasSource_gee14") +sources/1 = SubResource("TileSetAtlasSource_kvpfn") +sources/2 = SubResource("TileSetAtlasSource_dinhu") [sub_resource type="RectangleShape2D" id="RectangleShape2D_um86g"] size = Vector2(55.5, 41) @@ -75,9 +408,41 @@ script = ExtResource("1_wj22x") unique_name_in_owner = true script = ExtResource("2_lbhrr") +[node name="Parallax2D" type="Parallax2D" parent="."] +repeat_size = Vector2(320, 180) + +[node name="Sprite2D" type="Sprite2D" parent="Parallax2D"] +texture_filter = 1 +position = Vector2(160, 90) +texture = ExtResource("3_vtaks") + +[node name="Parallax2D2" type="Parallax2D" parent="."] +scroll_scale = Vector2(0.5, 0.5) +repeat_size = Vector2(320, 0) + +[node name="Sprite2D" type="Sprite2D" parent="Parallax2D2"] +texture_filter = 1 +position = Vector2(160, 300) +texture = ExtResource("4_kvpfn") + +[node name="Parallax2D3" type="Parallax2D" parent="."] +scroll_scale = Vector2(0.8, 0.8) +repeat_size = Vector2(320, 0) + +[node name="Sprite2D" type="Sprite2D" parent="Parallax2D3"] +texture_filter = 1 +position = Vector2(160, 300) +texture = ExtResource("5_dinhu") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture_filter = 1 +position = Vector2(684, 372) +texture = ExtResource("6_kvuet") + [node name="TileMapLayer" type="TileMapLayer" parent="."] texture_filter = 1 -tile_map_data = PackedByteArray(0, 0, 14, 0, 10, 0, 0, 0, 4, 0, 4, 0, 0, 0, 17, 0, 8, 0, 0, 0, 0, 0, 4, 0, 0, 0, 18, 0, 8, 0, 0, 0, 1, 0, 4, 0, 0, 0, 19, 0, 8, 0, 0, 0, 1, 0, 4, 0, 0, 0, 20, 0, 8, 0, 0, 0, 2, 0, 4, 0, 0, 0) +position = Vector2(1, 0) +tile_map_data = PackedByteArray("AAAOAAoAAAAEAAQAAAAQAAoAAAAPAAQAAAARAAoAAAABAAQAAAASAAoAAAABAAQAAAATAAoAAAAQAAQAAAAJAAoAAAAEAAIAAAAJAAkAAAANAAMAAAAIAAkAAAAPAAQAAAAIAAgAAAAQAAMAAAAHAAgAAAAPAAQAAAAHAAcAAAAEAAAAAAATAAkAAAAEAAAAAAAQAAkAAAAEAAAAAAAEAA0AAAABAAIAAAAFAA0AAAABAAIAAAAGAA0AAAABAAIAAAAHAA0AAAABAAIAAAAIAA0AAAABAAIAAAAJAA0AAAABAAIAAAAKAA0AAAABAAIAAAALAA0AAAAJAAQAAAAMAA0AAAABAAQAAAANAA0AAAAKAAQAAAAOAA0AAAABAAIAAAAPAA0AAAABAAIAAAAQAA0AAAABAAIAAAARAA0AAAABAAIAAAASAA0AAAABAAIAAAATAA0AAAABAAIAAAAUAA0AAAABAAIAAAAVAA0AAAABAAIAAAAWAA0AAAABAAIAAAAXAA0AAAABAAIAAAAYAA0AAAABAAIAAAAZAA0AAAACAAIAAAAEAAwAAAABAAAAAAAFAAwAAAABAAAAAAAGAAwAAAABAAAAAAAHAAwAAAABAAAAAAAIAAwAAAABAAAAAAAJAAwAAAABAAAAAAAKAAwAAAABAAAAAAALAAwAAAACAAAAAAANAAwAAAAAAAAAAAAOAAwAAAABAAAAAAAPAAwAAAABAAAAAAAQAAwAAAABAAAAAAARAAwAAAABAAAAAAASAAwAAAABAAAAAAATAAwAAAABAAAAAAAUAAwAAAABAAAAAAAVAAwAAAABAAAAAAAWAAwAAAABAAAAAAAXAAwAAAABAAAAAAAYAAwAAAABAAAAAAAZAAwAAAACAAAAAAAQAAgAAgAAAAAAAAAVAAsAAQAAAAEAAAAVAAoAAQAAAAAAAAAWAAsAAQAAAAEAAAAWAAoAAQAAAAAAAAAZAAsAAgAAAAAAAAAYAAsAAQAAAAEAAAAYAAoAAQAAAAAAAAAXAAsAAQAAAAEAAAAXAAoAAQAAAAAAAAANAAkAAAAQAAQAAAAMAAkAAAABAAQAAAALAAkAAAABAAQAAAAKAAkAAAABAAQAAAADAAwAAAABAAAAAAACAAwAAAABAAAAAAABAAwAAAABAAAAAAAAAAwAAAAGAAQAAAADAA0AAAABAAIAAAACAA0AAAABAAIAAAABAA0AAAABAAIAAAAAAA0AAAAAAAIAAAA=") tile_set = SubResource("TileSet_0tnpc") [node name="CharacterBody2D" parent="." instance=ExtResource("2_lnu2h")] @@ -86,7 +451,7 @@ position = Vector2(471, 287) [node name="level" type="Node2D" parent="."] [node name="StaticBody2D" type="StaticBody2D" parent="level"] -position = Vector2(465, 331) +position = Vector2(1050, 300) scale = Vector2(0.600002, 1) metadata/_edit_group_ = true @@ -95,7 +460,7 @@ position = Vector2(-0.75, 10.5) shape = SubResource("RectangleShape2D_um86g") [node name="StaticBody2D2" type="StaticBody2D" parent="level"] -position = Vector2(520, 335) +position = Vector2(1091, 498) metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="level/StaticBody2D2"] @@ -103,7 +468,7 @@ position = Vector2(-0.75, 10.5) shape = SubResource("RectangleShape2D_um86g") [node name="StaticBody2D3" type="StaticBody2D" parent="level"] -position = Vector2(610, 267) +position = Vector2(1051, 368) scale = Vector2(2.2, 1) metadata/_edit_group_ = true @@ -135,7 +500,7 @@ position = Vector2(403, 324) position = Vector2(357, 331) [node name="Trigger" parent="." instance=ExtResource("3_jlag1")] -position = Vector2(189, 316) +position = Vector2(-39, 214) [node name="Trigger2" parent="." instance=ExtResource("3_jlag1")] position = Vector2(638, 390) @@ -144,5 +509,10 @@ effect = "teleport" [node name="Area2D" parent="." instance=ExtResource("6_p57ef")] position = Vector2(366, 300) +[node name="DirectionalLight2D" type="DirectionalLight2D" parent="."] +color = Color(0.328443, 0.958547, 0.863958, 1) +energy = 0.23 +blend_mode = 1 + [connection signal="triggerFired" from="Trigger" to="." method="_on_trigger_fired"] [connection signal="triggerFired" from="Trigger2" to="." method="_on_trigger_fired"] diff --git a/scenes/player.tscn b/scenes/player.tscn index cf622c2..92b0c9f 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=33 format=3 uid="uid://cgk1d1f5ffbbd"] +[gd_scene load_steps=35 format=3 uid="uid://cgk1d1f5ffbbd"] [ext_resource type="Script" uid="uid://dmchcjip7pcfj" path="res://scripts/player.gd" id="1_3vyb7"] [ext_resource type="Texture2D" uid="uid://x7vc805d7m4t" path="res://assets/graphics/player/jump/player jump 48x48.png" id="2_dqkch"] @@ -211,6 +211,15 @@ animations = [{ "speed": 12.0 }] +[sub_resource type="Gradient" id="Gradient_qlg0r"] +offsets = PackedFloat32Array(0.014245, 0.678063) +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_tuyoq"] +gradient = SubResource("Gradient_qlg0r") +fill = 1 +fill_from = Vector2(0.5, 0.5) + [node name="CharacterBody2D" type="CharacterBody2D"] script = ExtResource("1_3vyb7") metadata/_edit_group_ = true @@ -239,7 +248,7 @@ one_shot = true texture_filter = 1 position = Vector2(0, -7) sprite_frames = SubResource("SpriteFrames_jej6c") -animation = &"melee" +animation = &"idle" autoplay = "idle" [node name="Camera2D" type="Camera2D" parent="."] @@ -247,4 +256,8 @@ offset = Vector2(0, -20) [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] +[node name="PointLight2D" type="PointLight2D" parent="."] +scale = Vector2(2, 2) +texture = SubResource("GradientTexture2D_tuyoq") + [connection signal="animation_finished" from="PlayerGraphic" to="." method="_on_animation_finished"] diff --git a/scripts/player.gd b/scripts/player.gd index c74af7d..ed591ab 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -30,16 +30,10 @@ var pushEnabled:bool = false var upJump:bool = false func _physics_process(delta: float) -> void: - # Add the gravity. - if current_state == State.JUMP: - # apply normal gravity - velocity += get_gravity() * delta - else: - #apply hard gravity - velocity += get_gravity() * hard_gravity * delta + handle_input() - update_movement() + update_movement(delta) update_states() update_animation() move_and_slide() @@ -78,7 +72,15 @@ func handle_input() -> void: direction = Input.get_axis("ui_left", "ui_right") -func update_movement()-> void: +func update_movement(delta)-> void: + # Add the gravity. + if current_state == State.JUMP: + # apply normal gravity + velocity += get_gravity() * delta + else: + #apply hard gravity + velocity += get_gravity() * hard_gravity * delta + if direction: velocity.x = move_toward(velocity.x, SPEED * direction, acceleration) if direction <0: