From 620e2a7f454d4aac2cbca6a4d50b0b1da1c4d40b Mon Sep 17 00:00:00 2001 From: yannis300307 Date: Fri, 29 Dec 2023 18:29:01 +0100 Subject: [PATCH] Meilleur sprite joueur --- assets/textures/entities/player/none/0.png | Bin 155 -> 768 bytes assets/textures/entities/player/none/1.png | Bin 158 -> 774 bytes assets/textures/entities/player/none/2.png | Bin 159 -> 0 bytes assets/textures/entities/player/none/layers.pdn | Bin 0 -> 5383 bytes assets/textures/entities/player/walking/0.png | Bin 0 -> 804 bytes assets/textures/entities/player/walking/1.png | Bin 0 -> 766 bytes assets/textures/entities/player/walking/2.png | Bin 0 -> 771 bytes assets/textures/entities/player/walking/3.png | Bin 0 -> 766 bytes src/engine/event_handler.py | 5 +++++ src/engine/renderer.py | 8 +++++--- src/main.py | 8 +++++++- 11 files changed, 17 insertions(+), 4 deletions(-) delete mode 100644 assets/textures/entities/player/none/2.png create mode 100644 assets/textures/entities/player/none/layers.pdn create mode 100644 assets/textures/entities/player/walking/0.png create mode 100644 assets/textures/entities/player/walking/1.png create mode 100644 assets/textures/entities/player/walking/2.png create mode 100644 assets/textures/entities/player/walking/3.png diff --git a/assets/textures/entities/player/none/0.png b/assets/textures/entities/player/none/0.png index b7720aba9b2160decdb08f95d5321a9f0663dd54..31e6c8b2ce9e28621a699854d2aaf2fdd79b67c2 100644 GIT binary patch delta 730 zcmV<00ww*M0e}V}iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPne*%?B zL_t(oN41wbXcSQxh3}~N!bc*+h-7trAU2YKMFbVW&MMlZGPV{`EYfJ>vrbUZ!dfc{ zsFj7CkU|gyD-GgnF=7hwfl8F*dd`3Eot??d?#w@CKREN>z0A%z_qCIlCBS-BBJx#B zY(|$pWgK6M>f1_cx*J_nQXl}MiW123eN{F&I#^y=m>5pH1tI6cl zYnCMqkTDO&6BB36Lhq2YNxfcY(adW307>)n7fwlgfBz0+`c9fCa*wf%J0_})uvt39 zGGE&f`E^Yp<~c9~i+m_SnE)|i>Nodnlp3(simISlFZoJ4|!#CQ(f49_e=m<0j9fFQQhoLQyP%S_?c0y|)dT`n}>UGdQ=l~>i zGC-@f;-1*;n#urn=&pO)jbVA;tTkQpQA%>p@Wb#%yd)j@toF71aRJREFucmuo_H@g zZvFBN;fk-VxXg=Y2Ao?kzc=R$)24*RMdtBfGy!;y-Kc5qaAw&Me??RZz#W~WXq4^v z=4*u|_&+%EpU^Y;1T+Eu@G?5(_rRiE-l{*rJTwD6hMu#7XafB9)r<~wi$FR=wx1(r z@VC$-XcBq>#hXTR40&%Cl>ECZxetERLtqy<2jgAGW^fBv61QPISW!NAkSF~q_@d4Y&Q zQ^)@V7b}LWw3Mbzn#>B~6CQD;d==T9aHS!T*&$)V6V^|R%*+hkJUoK=w!C~mLl`_= L{an^LB{Ts524x-U diff --git a/assets/textures/entities/player/none/1.png b/assets/textures/entities/player/none/1.png index 38bf925d8c87e5a352fd221e5754aea703a06a0c..2e9c9f41bec41fb593d9a9482a6a173d3148d85c 100644 GIT binary patch delta 736 zcmV<60w4XJ0fq)4iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPne*&9H zL_t(oN8Oh@XjDNMg=eEEf{#Qlld>&_`%tK_GU8Y%;VmhnEwImRf>wQ zTB6~t@e@+dOx|NrkEi_wF%G7Ie>e5I>91Bxh0t`isWDBLQzk@i$7r4!&%Imltp?LG zFIoO-fEM#$JT-OBEcK2^o78GG7R{>W2T08?Ts$r90|Psa={spE6*r8n-!_%%DK@i1 zbojaw6~C`dht_~Zh_`IhR(C88dDp9G=&JWE@NH>Yi`JCYt^OM&{m<|0t9fa zk1t#e^z1d}Y#c6oTup$6c{>}A#LPOAD=ooYa+6D>vE090)wC@Ip9$_msLi?eE zkdPZdMzkY$+_T>8aUpi}L3kguV=c7XHMNH@FuERZ!4A{e|HEH!EXboEGU00x97}$# z2|%ov2fE`~a@_pR&y|c*uJA*17r4H`^zNcFbf#KL-G=LYb>}{tbF6-+(5-PkxNe#6x)5SE1eY1U`o6p-0d&ULcwP@tzwS>=J?I z5UtlaV+MZ(J%pyA=TJN}n%j_lJE8Q?p7b1~VR-!)#8)Pl`vb(2%NJ1-+UEfKbBcq| z0JI58SCKQO$$RKAHuM^jt!sxi0O9ZOmh6RgL46RP@igY@%t8G3h=*+zjQIoH@5*C8 S7@jHs0000ERLtqy<2jgAGW^fBv61QPISc!PwKqF~q_@S>jiN zpjY$3|2l2|1JvRUSnw|F=ky9@Z-{9)FM8vNX4%0NjLmwoJgx^0FfcIg=ij*0cdHrD O90pHUKbLh*2~7ayZX&_} diff --git a/assets/textures/entities/player/none/2.png b/assets/textures/entities/player/none/2.png deleted file mode 100644 index 0979bffaefdfda3c7ad24824aea40654998a8b0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK@(3G#}EtuWC_+O%x)UJO#l9;|KLwu#Ng)U z^VKI{R!+lph6%kla$MO&b|*YIoFEdwBO$>M*3Bl!wJAOTsGq^p)z4*}Q$iB}>J2NS diff --git a/assets/textures/entities/player/none/layers.pdn b/assets/textures/entities/player/none/layers.pdn new file mode 100644 index 0000000000000000000000000000000000000000..13b5a455d36e989c2ece6f5e3a804d68bf84cadc GIT binary patch literal 5383 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 literal 0 HcmV?d00001 diff --git a/assets/textures/entities/player/walking/0.png b/assets/textures/entities/player/walking/0.png new file mode 100644 index 0000000000000000000000000000000000000000..d8e6e7570a6bbd314bcf6065bfb76b3f5d8de72a GIT binary patch literal 804 zcmV+<1Ka$GP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0=Y>Vv!~`#+W)mK?`fGL{R?(l?bv{ zf}lY}v-m8;2a0h?#_v1#-kF`<$?lvX`-5-KnPFzWbMLu#XV)wNp;Imb7qvu&w?xGedweie{?=FkEH~ofTNeiem z_r_CG7tBKUpyZ@jEHY?jHG2Wo=A)O+NWQmkt1-Q&Oc2<|gyq{ND4b@Rxrk*hHX?9+ zO(5neum}b@$Uv3?BK*{E>{=($6NaHE51M|3v(K(eQrNUXVj8VzK?IG{%qOlr5S2fE zb7!)nnE?{I9@jzh&HWdds-CGWfFz3Wqt0WVhtS-R)mE>|uY9gT-2xO~v#+mhtmf)2 zezvp)aRF(Zj~9pLPi%@MtAs%Hj)1JF?y*`xIk z3la1MkhxzjX$ap^C!ixxKXec}4jqDeAR%7?+1LiPLG<9Xanv2qZfHLww6cK3dc`%d z!=}mt!ofTCZ8w7UzHK+1^Fcy#&Co;tMjVq9>8y4!`*s2G78qJ(V^_46EI0qSL>PB* zF|P1KGXvJmo8O(YhDlRG<7Vd3U^E4AAKOvWJT@9nDWVy<3gC)9D`vy(JoY^vlVe*% zvypp#xTtP{orM^!IY<5*dM-zxW)(Gr+lN1UUzk#5K#WTjt8C`;&?o2#^b(RAH3cj{ zY(oJ$HeBg2`+C|$rO$r{aPARQ3r9?&S?DP=?ec$+pxK7Jwi7xG@!Mz zbbo=kayf_ungR%~=gVXd)CaABs@D-mOcPG^W9S_ejW!K!0fhH(F?K`SpPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0+UHZK~z{rwU;|+ z6j2z3@2L2~M-*a2vbsJH8%e+-f{I{g6>UEUoh!)}ll_<&eod4cCJF_#pGyj^sp(fNiy9zf9*id^ z&zgn4VQG_kz0RVU)$#$7=I1Y*lJ>rV?Z)(QQNXnY98HKf*2a-nP0tjU(}fW;(N-Y znE_(`8fT#S)}eE3s-CG0KvE&XsH>P)!I~Sg+p@a&BD7VgmjD4=>+?%jlU&)uYgd<` z86b}{@#9KAS91zFn+GPo^BQhskY&(vucf{(Ms*B@<|vC;2knLqKu3J#8f}0WM9>Ey zb3c5eBYaC8gAPMO&_U=ZbO_oE3Dp9WV+XVfq6epqqh15;h4w>2Hv_a=EAEM1uBi-Q zhwr$z-58el^=i{IAEhMsj64W$#7okV&q`m*9~aO(0wXJ2?Tz=6_$!Vq)|3R5tRaPN9R#A+C0AbT44$P503mN^i)0p zO@KeVj86MK&_cWZ1oO}=^ay&!4x$P0+gCF>$Y0a!G0W-ah#CA1^bneYoEA95Z~FH?oSYR?gErT6M*o34s#G1fYw6ES>%Xm@)3Fry@h1y+Mx|V w_#Ga}K4>S@5Aipi#+;oQi2t8)vlU>>Kc?%$y+tl>q5uE@07*qoM6N<$f?lax&;S4c literal 0 HcmV?d00001 diff --git a/assets/textures/entities/player/walking/2.png b/assets/textures/entities/player/walking/2.png new file mode 100644 index 0000000000000000000000000000000000000000..a2d060ab9ab01748c4ebda1c38fb2e8bc84cdcc7 GIT binary patch literal 771 zcmV+e1N{7nP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0+>leK~z{rwU;|+ z6j2n0@2L0)z9B{=tLp=?kpwIvs0eme(I%DJTC8G`MhhR&Izd4TYpo=pRu*EUoh!)}ll_<&e|L<#NcV~9*8FoMT=bW9nGyl1-nM8E~?No}yMJd7X_V{rVPfy-w z5I;|PgE97|p7-^-+E%HQDnim&XN_svOqn8L8wT^N@$AQME=!r7dCkz(0$R+y@zm5= zwKybf|vpVe&{##uQSo3wKgh)WWMx=r#DPe*|O2ZJbEz&0UGC-U%URms6O}Aory;> z0z|txZh_`oN6s-7JyTi$X(+|uiJTCgVl3mc=+%x%uN8gZzEQ6LiEp_JtqHSnMd)bM#&~E4ebi_r@(FTZx7~})EK(SyUrUayAsLi-^@FAFG|E3S!MHWe12 zNAKFN-8iQAO`lr7kTl4&8GGozh?mWYd{(*`zgSFX);11w;kZX59Q2(Bb+5GzUF~p7R6|k3emhZ_?snZo1AM|ApQ{kDzJj1r&x$ zvJKgG(WdGm#1~34-k59TAH;7qhx;?cmFw>hND3fq&n^x_L(m#1JBsWvO+GPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0+UHZK~z{rwU;|+ z6j2z3@2L2~M-*a2vbsJH8%e+-f{I{g6>UEUoh!)}ll_<&eod4cCJF_#pGyj^sp(fNiy9zf9*id^ z&zgn4VQG_kz0RVU)$#$7=I1Y*lJ>rV?Z)(QQNXnY98HKf*2a-nP0tjU(}fW;(N-Y znE_(`8fT#S)}eE3s-CG0KvE&XsH>P)!I~Sg+p@a&BD7VgmjD4=>+?%jlU&)uYgd<` z86b}{@#9KAS91zFn+GPo^BQhskY&(vucf{(Ms*B@<|vC;2knLqKu3J#8f}0WM9>Ey zb3c5eBYaC8gAPMO&_U=ZbO_oE3Dp9WV+XVfq6epqqh15;h4w>2Hv_a=EAEM1uBi-Q zhwr$z-58el^=i{IAEhMsj64W$#7okV&q`m*9~aO(0wXJ2?Tz=6_$!Vq)|3R5tRaPN9R#A+C0AbT44$P503mN^i)0p zO@KeVj86MK&_cWZ1oO}=^ay&!4x$P0+gCF>$Y0a!G0W-ah#CA1^bneYoEA95Z~FH?oSYR?gErT6M*o34s#G1fYw6ES>%Xm@)3Fry@h1y+Mx|V w_#Ga}K4>S@5Aipi#+;oQi2t8)vlU>>Kc?%$y+tl>q5uE@07*qoM6N<$f?lax&;S4c literal 0 HcmV?d00001 diff --git a/src/engine/event_handler.py b/src/engine/event_handler.py index 538fa04..de045a6 100644 --- a/src/engine/event_handler.py +++ b/src/engine/event_handler.py @@ -23,14 +23,19 @@ class EventHandler: self.key_pressed.remove(e.key) player = self.engine.entity_manager.get_by_name("player") + player.link_animation("player_none") if K_RIGHT in self.key_pressed: player.move(2, 0, self.engine.map_manager) + player.link_animation("player_walking") if K_LEFT in self.key_pressed: player.move(-2, 0, self.engine.map_manager) + player.link_animation("player_walking") if K_UP in self.key_pressed: player.move(0, -2, self.engine.map_manager) + player.link_animation("player_walking") if K_DOWN in self.key_pressed: player.move(0, 2, self.engine.map_manager) + player.link_animation("player_walking") if K_x in self.key_pressed: self.engine.camera.target_zoom *= 1.01 if K_c in self.key_pressed: diff --git a/src/engine/renderer.py b/src/engine/renderer.py index 7ff6a8c..04df9a7 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -1,7 +1,7 @@ import math from pygame import display, image, surface, transform, draw -from pygame.locals import RESIZABLE, SRCALPHA +from pygame.locals import RESIZABLE, SRCALPHA, FULLSCREEN import src.engine.engine as engine from src.engine.animation import Anim @@ -13,7 +13,9 @@ class Renderer: def __init__(self, core: 'engine.Engine'): self.engine = core - self.window = display.set_mode((600, 600), RESIZABLE) + self.window_type = FULLSCREEN + self.window_size = (display.Info().current_w, display.Info().current_h) if self.window_type == FULLSCREEN else (600, 600) + self.window = display.set_mode(self.window_size, self.window_type) self.tiles = [] self.tile_size = 0 self.animations: dict[str: Anim] = {} @@ -57,8 +59,8 @@ class Renderer: gui_surface.fill((0, 0, 0, 0)) self.render_layer(0, rendered_surface) - self.render_entities(rendered_surface, gui_surface, delta) self.render_layer(1, rendered_surface) + self.render_entities(rendered_surface, gui_surface, delta) self.render_layer(2, rendered_surface) # Enfin, on redimensionne notre surface et on la colle sur la fenĂȘtre principale diff --git a/src/main.py b/src/main.py index af6e2fb..9319668 100644 --- a/src/main.py +++ b/src/main.py @@ -15,6 +15,8 @@ class Game(Engine): self.create_player_entity() self.load_boss_fight_assets() + self.DEBUG_MODE = True + self.game_state = GameState.NORMAL def create_player_entity(self): @@ -23,9 +25,13 @@ class Game(Engine): anim.load_animation_from_directory("assets/textures/entities/player/none") self.renderer.register_animation(anim, "player_none") + anim = Anim(0.1) + anim.load_animation_from_directory("assets/textures/entities/player/walking") + self.renderer.register_animation(anim, "player_walking") + player = self.entity_manager.register_entity("player") player.link_animation("player_none") - player.collision_rect = [-7, -7, 7, 7] + player.collision_rect = [-6, -7, 6, 16] player.set_default_life(10)