From bdaf2901db1c5ed3b880d0c9543826efb9bd755c Mon Sep 17 00:00:00 2001 From: vaporvee Date: Sun, 12 Oct 2025 22:19:01 +0200 Subject: [PATCH] world tilemap --- aseprite/grass_tilemap.aseprite | Bin 0 -> 891 bytes aseprite/hood_player.aseprite | Bin 3259 -> 3259 bytes assets/textures/spritesheets/hood_player.png | Bin 0 -> 1619 bytes .../spritesheets/hood_player.png.import | 40 ++++ assets/textures/tilemaps/grass_tilemap.png | Bin 0 -> 481 bytes .../tilemaps/grass_tilemap.png.import | 40 ++++ project.godot | 3 +- scenes/levels/hood.tscn | 194 +++++++++++++++++- scenes/player.tscn | 92 ++++++++- scripts/player.gd | 18 +- 10 files changed, 380 insertions(+), 7 deletions(-) create mode 100644 aseprite/grass_tilemap.aseprite create mode 100644 assets/textures/spritesheets/hood_player.png create mode 100644 assets/textures/spritesheets/hood_player.png.import create mode 100644 assets/textures/tilemaps/grass_tilemap.png create mode 100644 assets/textures/tilemaps/grass_tilemap.png.import diff --git a/aseprite/grass_tilemap.aseprite b/aseprite/grass_tilemap.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..dc2475979d81c1ad88998e54282f394ef5dde46c GIT binary patch literal 891 zcmbo8Knuixm|X#E zC6aZyKsF1=b&5cSl7fk=hE1BKVSkwQ{X(^y3)0>lp7r~a+03T_S^Eskr{sBO>IZqN z7};3b+m{$5G)3nI)N81T3r%yDTxBFA&cw8k{B*f5&v2mT;`e5VId%K&7y|si{9U*n1=z=Z`3=#IlVk*%_@19(!Mqp0 zo#Vkkp5a0C`@f6~SA=WpU%Uo`^Y58KR`UNs1+TvYUDfb)ug0$S5H3&{DS(1!=&+Q5 zu4PeRW&ox?DEJSg*%^EiD^rUU3_)V?K+LKDVlgoM2j&w9U;(B?1qNV30!9Te(=aeN z0I>oPLqWwH-ou@|4GIDb8-$;P9{js}sc)6*k+PpN_vr3RTYdIre)*3I2EiVNP5@$5 B0}=oL literal 0 HcmV?d00001 diff --git a/aseprite/hood_player.aseprite b/aseprite/hood_player.aseprite index 65537777d109dbf2da7d7f46986be952a8bcf3aa..b9717819f444c0ef8f70dc29af3999149f47af6e 100644 GIT binary patch literal 3259 zcmeHJX;70{7X1ihh_WLsf)KX01H+miD1?xp?10CcZ}SG$-U_=yxOceV1FZx857xn>~eV)H{+9Yi4htduIH8D z7ChyX!}IKZ*ERZq$K&Oc(G%m6F5+-lC&$QRH>n83h_lZS;aOUy?adIq&zk;QsBn5cvJ!>%_Mv>TzBnrqo#Fw3w=JbQlq6d%NgrIJhm}ymd{o*j zqpr~z>~>Ov&3q^-(VG|~b}57r++0bQqD7+poJv{?GvZQt3*rpE!L%$RUuYw@*`v>pPa-INCVDeC|dv*5+WWXYiPkizNE^Czg#)!5@VQAcD8 zuE1%bLZ{L0tIA1&w3vzdXu@f?uU1 z6d$;JhpaKLp)q{r4pjT+LjV4l0F0=Ch|5$vS-L>9w@OD& ze_-hZ-J0@JSe}tv%<>}_rd?xCbKiu_I)xbLx%q~U>ExS^9_OxB?bob@4)&AGSSe-K zIt+4GiQb1CNx7)Hh+>ZJ)CE6MSRd&=xmKOkthvmt4@iRG-_H6a!-%k>P*cu972C3(6#-}d`E@}}XW8St)-|%Geodm_;8~ebgp8x|tU~H6VpiUU^yxbNNR?zZV z_s$2#w>Gy+(2uewESZcNSOh zF(z;kmg{@(`E(DWe75cJq`LRgh(38Kq!u3Any`WQqJ-uU(GU+vm=qmp>KGkSI%OUi z-(6`kF;e6m)DUDZ7ce=zZvAN9A$d9Ts^Rw(uV_ULtXmeFT z)d$r(tgoNndeEwSoXGeJgR9fwdqHqXiw$+}Splt}C9S2_!Pm`5mt}BkGXf?_EnA0> zBb_`{5Q0k0S!kq`XlyfrePMVH^BLE*XTO{ZWEM3vSd?CSJ(@L^%`j?iWW&T3FA7dv zU#W28wLPd{^qb6G_B&}L$VBBz$j?DePdG3yQ6g}Zp`_YP-}*IGYJ}6M*}j#;5mtWf zn3{M`NW@zU#Y+<@BfO_a%Q%0DLX~r7Dn*dZylDt8M7X}jrwUWXQnAsvh+~V37^Eq2 z9s=4I1)wXm_g zyaVT$b~k3CXt6ebBc?I^@qQT{3&~>o3Mu2p*|&S%ldB!QnOilETaU+5M?JPIb>H}| zt(M5U$mSbp;ZcDnBw9M5c6Pl1#?&qvWX=S(p`*xHLi4%Z#UW^4HR>Vge8UX&>>bt8 zM3rp>2e1pBD0Z?WNJ^m8~ z1;axDODDtj;N-ivuOR=vr}eo;jKCx4mD{N4y~=7IU*MONWJ~UD-|FwRNjJ3r5a^sE zaqNZVT2~uab_pxtCL2B4LePyym-i!*&X*a!^gCN-6_1o)&!&VoKu0Dz~OYFP#B4>jMtj%OfwFmp|K<~NR@mkAi zSVeX)b{MT1*1Po&`=^im>g`A?bl;iW~W_96{*7h2p|a_k1t#k_&YSLaR68E!HB^W}sYbmLzt#q0gsSp?VI z!Dtaq4eRjG3^zp4X7DzrY+pCXAoLdxY3iE>%|icEq)ktc_3bBIVYfZgv8%f%zidF- z(i?URh$Y`adIPqu#)g=u88R%)&mbv_>(%_o>A4a$Ph4 literal 3259 zcmeH}c~DbX7RDcIkgx<$z(yg8ASg>%WDx>1!wxnI5`+dMVQHahDVD}I2@%->A%Y;A z4N@c97zHFS2(m;m1W-VlO@fHXA`(`S1j3pLvC2l<`EzQVsyVlA)v5cvs&l`(zkA+o z5CecWC4vByH~0Vm@aN7yLk-~DSp*>5@t=rl0RUKE65&-9;TDkPP7st=a#y)nZY~IL zSJk-5VW_^fnrWc1P8z~wG)#5q?|}={-#0!O+APjUWv(Cu1ppDQMb4+MBmpJhxBRXf zWbr33h_#+*;WHrfpOKjih^C5=Nu`xl^Ii>$EGadHCIZ;cux)$0UCTf*pM+|BAT z>2uhK*MlF1eqKx><5r~atz#CH3dnDYzDv@Rn2Rze`iSVz=2M+XNw)LS3ar`)QbB~@ zA)3vlgxYtDttn0R(_!#BvHS=&Qp^=kB$F`YYB_81P6@Bzo&i5suq*zQX4R-g)UABicsETu31ciWIE>U* zB3r7M^AN^rNBd&E7<{VE#QNz*yziV0Mw%E#0wu>yB4@tOm9K%B2wQ6Esus%{Z!RS$ zRBd(%1^GIu5s@>A1W$jCl*`6cmjX;xwfwdKYC>Wt1n2=bV&{2o_<=oNIl#}{#FT*& zv-Uc@|2^)MWWAZ!dKiP2pxy)Sb51pLV7Y)FnV6<%T#6eXpUgj8iL(rBqz|P?zkoJD z#iZLxl#U2zfRIchn?Z12S|{jfT)$M2+(ExS{6bU+`aL6#aqT%q#2rk9=~%A6M|$B@ ziY0S!{+Gu3^ytjPcy+BN`nagUtQpqKf{%d*Q-b$3$%Hh1LW!pX3h`mj9y~6cA z5X_xv8h#HWdU;Bma54l%XEp=%J|W}mSB`cE1Oav9{0kFYLf4lBcvp7kLagx2f1O_1 z4!ss)JM^Le2hWoZC#@XqnRkz=!>{L*@iRV8E|GpX-je|BM5c zT~DNKsb}vSDbGMFXE&UWx?QEGyn^n5q-hK^qI(2W3Pe_{gcxxxY&oalU@yw>n%fi+NtK=&hW5oVojb~8bB2be+tMr}7 zu`d{2OMoaNKKC0XrU41*Jf66qw znkFOtK#~)wt2B8ztC^DYj@V0Kg#Ds&&q%EUZL{Q2k==7kVljF)eRaclwcDus*j1Y0 zuxUr$;OLo_@c9#nTivhZ%}~ubx|J1m0}m7gwc~4&hUXUDveq-loUoLi+QrDD7>S&qL;mhusXodEe)o`yXwDq<79_+TtH|rGVReH5N7T?~{@Aa&Vd@OB9 zF5G)0dWvWJ%ZJ7{+NU!fJ%oxAYikn4j8vRmU`Y*-I$QIbCmwF!=+W+y$n;&oc}anXyIS YHG~D?nJCx4-OXDf#qj~kLIwK&0)Q+%ivR!s diff --git a/assets/textures/spritesheets/hood_player.png b/assets/textures/spritesheets/hood_player.png new file mode 100644 index 0000000000000000000000000000000000000000..18eaee2fba2ab03d084c48fb9fb801c013afff07 GIT binary patch literal 1619 zcmV-Z2CVssP)Px*4M{{nRCt{2oj+(KRUF5^CnBdH#~l_2S2%7EkCZY-0>)0zCLmi#id<#VtYr!j ziz^nf5J9*UUb@@Dy&_E-1-pwF(8V$&ggJ9az#^Q;!8u$r7V)ibXJ>Zb-`{)l=6##& z&d$#J)D`^E z#=VL6riYQXa0u-r3Q+}QvO?O#AvMPUK!0m#{5oB~JMkI+o=t+b6gr1gV0Z`sQIIj`=;x6@$htHsUy9O+1QlC)S}-JQA5!Cu#DYZYOj;IPReHOKI+ zbe0xZw#VJuv_vbyHU}i?0|1s+ccoaA&dLt&Miu4AIiE9k&boB-G=Lpm@b zAhs*yV6Q7QL{O}miIgGA%S(E#Y&6)MyX3(3v2jMk7$CUxL2*_#Zy%mllt(%+?DhAz z->lr{gWJE2U)x+f6ycz}z%*SS(n~VsgJ)-th4wQkQ4SX}RUbwsf4)_?R7e~_pOrOP zK?cS}&oN!5*6MPds8@B%`epP3meTi0SQrCeW?3Zl(Mi&xlcdG@`FX)t48P6h`c#>v zii3%QqprLvHWG*`kh;%o^OVb?Y#epv)v<|6`hLv9Yi}uiW=mCNQVpf^%5za4QBhG* zQBm_0t$vIVY5L)$pC7csLu$7ryL(O?r)=Io zsv0VXaA4Shvph$CYYC73IIG>)<}lJ04yhhfjyi*(9!A>0p){27E~=`QLN)P*%%ME~ zmR(dl9OaFwP&u@~%ePIb?;M8Ap=|Zz4Mczc_2++EsF>Xf_f5jab??!Mq+{^n7}Zzl&hr}(;QlX zIo$7g(L%wE?XG2tL+d)G%Gu@OY^dsK$EI^ApDu$72y;`p_NUz0NU(6@no|x|7unfk ze6n+@d>rMWjJ1S1iyO7>Y$UD`j4GJP9{?6^Tyu?JOhE<4C+RklU;@J`f|*mPtr$#Y zbF3-l>ccq;ePSu769P0Pro8rH{&_@i9h@OSKz{uLAQR#TvOCeGQRw> zQL2-q#c((*hQlGLv#nevwXN@yHb*UDT} zN|l<(p`ARAT5aL5zPj9&iWHS7M=;C&p-DP0RCy-nDRd4g<5HIAI5|GT{heELfmmWS z)2FL#;ZXYB<)6P@!wWCH3{)iG!9wIv?lH@&yGYl&Q`@MYWv=4@0PJTM!2a}Sh zR9K}0Bhob~h7nu2!DM7JS6bt8l<_R{_EE_VCR4u6TxpHWQO5Ixnk!A}0+SU`ZmloA z@+$s0e>AlpwWv8n>qAA_lfP@pBatIS4jFjWrIxzd#G$JFKCqRz?XQ*JOHa-~HP=wE)iAJ&-6 RfeQct002ovPDHLkV1hL)7hV7W literal 0 HcmV?d00001 diff --git a/assets/textures/spritesheets/hood_player.png.import b/assets/textures/spritesheets/hood_player.png.import new file mode 100644 index 0000000..629f9c4 --- /dev/null +++ b/assets/textures/spritesheets/hood_player.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c12v1hnrbfjr4" +path="res://.godot/imported/hood_player.png-6c2f9e5710e5416c4bf1853ba3b50627.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/spritesheets/hood_player.png" +dest_files=["res://.godot/imported/hood_player.png-6c2f9e5710e5416c4bf1853ba3b50627.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/textures/tilemaps/grass_tilemap.png b/assets/textures/tilemaps/grass_tilemap.png new file mode 100644 index 0000000000000000000000000000000000000000..daec93b69ea31bfa16cc57d5f96efce7ea6e3f6c GIT binary patch literal 481 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D%zXM4IhhE&XX zd&jYt$x*-|P+>=eV2sDN4t9|>Oji^bv^yNxwHNVEJy-94;ET%V%hO-Jdi?(LN86k? z&%esW{{LJq9b11j^B3z3)dma3Bb*9;424V`!VYs79 void: - velocity = Input.get_vector("move_left","move_right","move_up","move_down") * delta * SPEED * 3 + velocity = Input.get_vector("move_left","move_right","move_up","move_down").normalized() * delta * SPEED * 3 move_and_slide() + + animated_sprite.flip_h = velocity.x < 0 + if velocity.length() != 0: + animated_sprite.play() + if velocity.x != 0: + animated_sprite.animation = "side" + else: + if velocity.y < 0: + animated_sprite.animation = "up" + else: + animated_sprite.animation = "down" + else: + animated_sprite.stop() +