From cdc8362c75eb41a9e3566b7d3e8a9671313c2e65 Mon Sep 17 00:00:00 2001 From: Ruslan Ignatov Date: Fri, 2 Apr 2021 16:28:19 +0300 Subject: [PATCH] More SAA test --- Player.py | 53 +++++++++++++++++++++++++++++++------------ data/player.xcf | Bin 3338 -> 7110 bytes data/player1.png | Bin 1094 -> 904 bytes data/player2.png | Bin 1053 -> 879 bytes data/player3.png | Bin 1083 -> 901 bytes data/playerDown1.png | Bin 0 -> 906 bytes data/playerDown2.png | Bin 0 -> 904 bytes data/playerUp1.png | Bin 0 -> 905 bytes data/playerUp2.png | Bin 0 -> 904 bytes 9 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 data/playerDown1.png create mode 100644 data/playerDown2.png create mode 100644 data/playerUp1.png create mode 100644 data/playerUp2.png diff --git a/Player.py b/Player.py index 4072adb..7488748 100644 --- a/Player.py +++ b/Player.py @@ -13,15 +13,28 @@ class Player(pygame.sprite.Sprite): self.imgDir = os.path.join(os.path.dirname(__file__), 'data') self.walkImages = ( - pygame.image.load(os.path.join(self.imgDir, 'player1.png')).convert(), - pygame.image.load(os.path.join(self.imgDir, 'player2.png')).convert(), - pygame.image.load(os.path.join(self.imgDir, 'player3.png')).convert(), - pygame.image.load(os.path.join(self.imgDir, 'player2.png')).convert(), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'player1.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'player2.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'player3.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'player2.png')).convert(), (64, 98)), ) self.currentWalkImage = 0 - for image in self.walkImages: - image.set_colorkey((255,0,255)) + self.upImages = ( + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'playerUp1.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'playerUp2.png')).convert(), (64, 98)), + ) + self.currentUpImage = 0 + + self.downImages = ( + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'playerDown1.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'playerDown2.png')).convert(), (64, 98)), + ) + self.currentDownImage = 0 + + for array in (self.walkImages, self.upImages, self.downImages): + for image in array: + image.set_colorkey((255,0,255)) pygame.sprite.Sprite.__init__(self) self.image = self.walkImages[self.currentWalkImage] @@ -72,14 +85,6 @@ class Player(pygame.sprite.Sprite): def update(self): - self.updateCount += 1 - if self.updateCount == 15: - self.currentWalkImage += 1 - if self.currentWalkImage >= len(self.walkImages): - self.currentWalkImage = 0 - self.image = self.walkImages[self.currentWalkImage] - self.updateCount = 0 - if not self.speed: self.rect.y += 1 if not self.isDownJump: @@ -102,7 +107,6 @@ class Player(pygame.sprite.Sprite): self.standup() if self.isJumping: -# maxHoverCount = 30 if self.gameSpeed <= 2: maxHoverCount = 30 elif self.gameSpeed <= 4: maxHoverCount = 23 elif self.gameSpeed <= 8: maxHoverCount = 16 @@ -120,3 +124,22 @@ class Player(pygame.sprite.Sprite): self.speed += 0.07 * self.gameSpeed self.rect.y += self.speed + + self.updateCount += 1 + if self.updateCount == 15: + if self.isOnFloor: + self.currentWalkImage += 1 + if self.currentWalkImage >= len(self.walkImages): + self.currentWalkImage = 0 + self.image = self.walkImages[self.currentWalkImage] + elif self.isJumping: + self.currentUpImage += 1 + if self.currentUpImage >= len(self.upImages): + self.currentUpImage = 0 + self.image = self.upImages[self.currentUpImage] + else: + self.currentDownImage += 1 + if self.currentDownImage >= len(self.downImages): + self.currentDownImage = 0 + self.image = self.downImages[self.currentDownImage] + self.updateCount = 0 diff --git a/data/player.xcf b/data/player.xcf index 57e15a15eff6e1fd00d9486444c397c2ef46f7bc..c028ccab74028747345186cc74206fcb8640eb53 100644 GIT binary patch delta 1026 zcmeB@I%Yn>iP3JOvk0T*3&nyTnU<08=G$FM3IS9?bFu9OPScs8< zfq^d|C$TcMNWmq)JWs)B@&v{Uf_5-P5SnS;@dc#1LP|nXe@;mK;uXY<`)Rf`4;RWE>4(_xD;VNGQj2|uKz6OAQAQV-2Zc2|3M_r z|3Byc|33%!ln%mE+zkH%m<<01a6=>PZvaC87XygoVfYikzz_iUn*lbzas6j8=KjxQ z%=`bZ@qc43Fv;`(kMaNi#%z<(yk`hbf+`Si!AM?E5|m=%1*bt!gz>`Dpf*15af3a^ z|DW+3_y7OrIAGDGj>~5t|1kvcGcX2#e9QrhFl~IE;s$$%|39NK_y7OK9Fr4RWhVDC zK422G1xJZsBrHk<3qet`S(DkAnMqU&EGg;+lN5~uONy}zFioDqcxLi1PJSkd^I%01 PuVIQLnK#>Won`_6d4N17 delta 145 zcmX?R-X%4`iBWQ+vk0SP1p^qcrh+L3PA&+|z%bd7O?dK6ah}P+0uPv&DknR#Nii`^ zoy^E3#>BLC@^6Wj$$re{n^lDVFfp;EO?G6HW^4jWvdw}@a&CSs%Fe{X!~il&M1_%Y bGPlGoCN5#HNnHAq8M(w6-8cW1IL!nA(fT0! diff --git a/data/player1.png b/data/player1.png index d7b8b60effb01b7a2f1b26d475760b01acc349e2..6feac732cc7920dca473e7a28f2e0e4110a4aef5 100644 GIT binary patch delta 444 zcmX@c(ZR0R8Q|y6%O%Cdz`(%k>ERN@z`!8Dz`!8E!N$PA@OeQk&ql>rjGX5f0vL>I zxE3W(KEkNT&dX^URlDf%YZtwnnlu7@2raI(dlioey)hedt_g28P2Xi;Q_^NY2eP@OiA{na0lCaH*cP zgTqVw+`b7n^cg0sa8Q_1I#uWE*N3V%Ui&;2^0;>V`Ereu*N>;)NSW=>H$iE~JpFU^ z_vPwp4?M8$NO`r8Cv3!R{m zZm>et;r@ZYFFEeVbc>#8T>qSVir$9%?-sEfNhsfD`{1_&)9GD@>UML_lK7Euj@z*5 z&i?Q9ADiqABKFDqf5_UrZ~fo%$Bbt*cc#ofvCgZ?WvzL_n>VSkg^}SGa~L9CD&06= zb8^Y+m4?eo9-7=y49I_fGJ(xnJTvUrPDL$?gEh=^PCtG=E71He0|Nttr>mdKI;Vst E0L*j39RL6T delta 636 zcmeBRKgOZh8Q|y6%O%Cdz`(%k>ERN@z`)?Zz`&5e!N$PAu=Z%li;ar27&-qlFfja= zQ=MEl`3R#TJCBeuTkJOZ$!{3d>zQOdT^vIyZoQqe*NfRvq&5AB-vtq|rlk+KUkESp zn|SKhz2}~}S*u01{bHIW9+eCMv%}F>G(6-Ip~W$MoAAxb)}IyJatUkA&V?sjk4tU?LZo&G?mJef=}} zaDG?&_}ju07#L14*L?i=+j2);tUbS}_S;s8_IX9M*77m)W#_8dE-stbz{1eL{=;N_ z;m$o?S#j~(_uYTZx$`f(3Ijt{t$bY?p(N)O^AU(?!jk<*Y$rZ%7VVO z#lM>$!N|aHfY0{8D%Py(1Lv=oUwgj$>@?AO1_lO;UyM=q(eoy(z8K?sncsnl;loo# z#U;{j!{qJCr_G2y|NI;$*l|ulhnJ=ouS$IVJrZQr7P$+1_wTfEJUmM^YF2pv1E|NFf{C{JaA>!Rk=myBunIzUjF6uU|{HN zum8EHVXM5uVQcA--s~06+^Z+QX8GNF-E7F_8)}05% z^S^TY19!|T>I`>mOKSv&?|$0_UuG)Z+jHoZ`wN-on+ie<4tH%Fs!Og_GTqydHuavI zsx|`ygT`ydsQb~szh=*8HnG}&V5YbNBZK(^M!&P3d+)dAhMv8Cj(Y+FgH->c%?DSW kXW9C$--dycK|!+q0_Ps%hDY3L3=9kmp00i_>zopr05d-cdH?_b diff --git a/data/player2.png b/data/player2.png index 65d44c5a6e0e5c861ae88748fc26e5c08c87c3be..8f72db55d7004f29f83449afeb042e9342645075 100644 GIT binary patch delta 418 zcmbQs@t#ewGr-TCmrII^fq{Y7)59f*fq_AQfq_ASgN=cK;q!u8o{fsL7&*@|1TYxa za4kxne1uVvotKM8FSJr)@*75tdN)rO#}JFtOGB*lS{!(4-Ac4oHMiXmE?~4^G-VYv zwS7L*>Pm>nmWND<`VCuBm*{TuP|AHPB0X918FNt21h&(46@TXW@}&JaoMb6*Lh`_a zTn10QS*N%ZTpcHP@Kt?UVD+LdzLbrDA?Cd~&njl)JFImA)`xUD=i`512Zx z7r(!J=+6AR$!p6);u4+HkBJ^n=yQtpkhr-uAm-WZ&btiNIvfR7GUnk@t=D$Vd-3`( azkcr7^H$c`9~c-I7(8A5T-G@yGywoM)2kr> delta 594 zcmaFQHkU)OGr-TCmrII^fq{Y7)59f*fq}t+fq@}`gN=cKVeQe97aJ94F>?NAU|{$! zr#iWA@)1Twb{-*p{@1@uCck0SsQ=>W;uunK>+Kvvzrzj!uH}NVLQ57rV2NSybMT$0 zWorA}(>H6C$d&@e2TT(+CTeIfbl$r1Z(^B=)cac}-j|DcZkYG2{`|Qc=VD*&GD((Q zGLxI3n7tsQR$+O}SC(B@HZn0VG;pRiJpK9l_SFUI6RuZY@j1Z6Fk|PYcdRDNd*;>G zN8IQC_4n4y237_K*$0=8zfXVvBlYu@?`yV*7rjeA_4I7$`yX#!Y?&ds^)-tQ1B20l z=apA~ep>XR^6&1izwh~Ue3Re6z;J_m%5$b&<`-U9 z`S0Z-85tN3bVw$=Wz9-IaQ=Gvi{HE7YHKqv)H4)(VJ`Wflj?M3aiITY{sT-5AFeWL zPL+NeCU0lu-Sh7G;$kKp28LG+AzwaR*lhWA!`J^Hvm9>o+}OK+r;%goUHgQ}7-OgB z0#$R&H})K2Vwh3Q_U7&P?TERN@z`!8Dz`!8E!N$PA@OeQk&ql>rjGX5f0vL>I zxE3W(KEkNT&dVk0Wq0w#vDyYK_yf{V3XGOwq3V#bffQY+12pp>(jSaH9!6Qm#7{oIzjmdOWyR=-|Wf` z^Rx5Bxt{4=Hu+t1^~9yuSc*O=q?^s`a7ukOJ1qH-xrJuXz3Zy>iyp2yCCTvqbGdcBMD)W0(>f5SAUjR zM0swp;Mn*;sN-z)`{cwoY|poERN@z`)?Zz`&5e!N$PAu=Z%li;ar27&-qlFfja= zQ=MEl`3R#TJC88qDYav}Ccj}+uV)hSba4!+xb=39t=|y?k(OMSb`}wlISt$gI9F(H zTeR%CP4whhS=>=O7z!GvYE0D7VCcMcWu`}6)uy>RpUh*oc$!I7s=YtoskubN>R8+h z8G#GdjK8mO8Xj53Kfx)9)q#QK%>?#{S^IbGUH6NjP*(gaiwXndT;(ji1#%Cr{yAL# zYu~G{Yi$`h9T*B5_~rM{U;KFb!^}02n)*j9zD?<#efr|Zmj^ws8Al!G^k886z%c)r zX!`2UYo2{AfBi4cUt_Jk0wafl_=)eVCgvBuS7fhHpW;-^tHQuo(Qux5&G%mqKL%cA zuiICh0&Ql0|gj~MDJb{7b$D;;; zPpxIE`QmSR>zsY={hP&ufvJPpDeUmp>f%+2um6MeF@CN(@a^x}r<`2bbq6l(sA~D9 z_{D-RRj!pqVL>_nj3>XPFaFT_KQHWjz}aXy!}7lkq6~}z6Z)BTB8;86-b$}{wso2L z_dkq6^$iW@65ok$c*ZDlOM1&AruEO%H=n%1GLeBLiETyIBiDnREXBwa@1j h;&)&Ym~d47$MmBP#|tCl85kHCJYD@<);T3K0RW(W4MP9` diff --git a/data/playerDown1.png b/data/playerDown1.png new file mode 100644 index 0000000000000000000000000000000000000000..297bf6a3182382cadc87392e5529103f2b099326 GIT binary patch literal 906 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV36QoV_;zTyr7ncfq}6#)7d$|)7e>}peR2r zGbfdSL1SX=L|c!;4iatmmrd;ok$I!=Xu?9PNC8nn^|eldS}jovL)j;L|6kzgJn7LR zjU8e#eVXzVlf6P-o?n+<(4%tCg|0p9<=;Qt`@Zi^Ejvdq*X1=ABo@5f zHq%e-NKRfT&weEqM!~4`lr+iWNmH8M|Jdc;@V>lo-qZN+&tHUo7Gq{o`lw^ zBI~l5#d~4*NYAj&^PTR#yA(buUl;AaZy_ElR*`n)%#!Dwi;pC2Y@W)OrW&j~Po;0= zEWe*l*OI4x7E50nl)Se3lepWbU#E<&XYwg_y6QMKaj=?B32f}Ocx$C8cBy3EhmZWb z>N;b%cAiRj65${!m2#c`AN&65Y*DpidzW}Hy{Iaj)1RoYhuh?J-{;yl7H5SOe(=P+ z%&p(b=u`T5s1 ztK%=3CoGIxn%B_moUp{>=4-q6@7}$+z29{0zrPG7Qbm2TkEfO}FfgzsdAqwXoMQ-J zFs|WRl+3`uz**oCS`Ki;O^-g5Z=fq&cMK!=;`7ZVsU!u6vh0*1_G`7yHBa* zGBYP9KMbDqui;VCf=8Pg|IK?K%Ff!du0CPyF=bw!5G{=iZPEJ<&(HY1DY>M#sl@W< z-aVi9Mu>#|6I7ne@#yY?7o|+h^Yqg8@&=ty@JtbsjuBTavt4pdk>SSN?^j$qR|Scy z?*9Bw%QK~!@sW+AOULIUE2V{gGYS~9I(j^xyx_|5+3j&_^}MDZsQLQs-#PD3|9)Mw zPnmsSi-3}aY~Q)+;M}^}1sUF#?%rVCDWT_Vwpr}RYxc{<*M%=$nDJ^+iH#sv?`N0g z-828KxL9Hr=&-yyGTQ(7cO?9XXyp&@fsUN_t`uSHj_kIduWrC?pdGST+(!u!|Q%S0@W`g!|q<($;-wEY6RW(}kN zhdT>4c$7yGp44_H2<#q^Zi}peR2r zGbfdSL1SX=L|c!;4iatmmrd;ok$I!=Xu?9PNC8nn^|eldS}jovL)j;L|6kzgJn7LR zjU8e#eVXzVlf6P-o?n+<(4%tCg|0p9<=;Qt`@Zi^Ejvdq*X1=ABo@5f zHq%e-NKRfT&weEqM!~4`lr+iWNmH8M|Jdc;@V>lo-qZN+&tHUo7Gq{o`lw^ zBI~l5#d~4*NYAj&^PTR#yA(buUl;AaZy_ElR*`n)%#!Dwi;pC2Y@W)OrW&j~Po;0= zEWe*l*OI4x7E50nl)Se3lepWbU#E<&XYwg_y6QMKaj=?B32f}Ocx$C8cBy3EhmZWb z>N;b%cAiRj65${!m2#c`AN&65Y*DpidzW}Hy{Iaj)1RoYhuh?J-{;yl7H5SOe(=P+ z%&p(b=u`T5s1 ztK%=3CoGIxn%B_moUp{>=4-q6@7}$+z29{0zrPG7Qbm2TkEfO}FfgzsdAqwXoMQ-J zFs|WRl+3`uz**oCS)!u`L#85uUgmKx8K#C z!+b`prs4C)CwHzt{dS(c%WT58L)%VVEy&&Ua;w7LI)m!GY9+3%D^GDB7v6Wl!n7jTb7vSY33PqdKQw{Z*0l zmv)U++t_>feMGlaY>p}A+xWP7+lf9qhm`LoUv7TuoXa&QCEL4n=hs8*`}SW@*Q{Z7 zmiYU;{Ze1x&PK&OZx>1HZSqO%|5&kRU-~zNFBcq~4Bl1lUi6E3(FL=wGeQI=GcYhP Nc)I$ztaD0e0szN|l9K=c literal 0 HcmV?d00001 diff --git a/data/playerUp1.png b/data/playerUp1.png new file mode 100644 index 0000000000000000000000000000000000000000..2bae6ed63a814803626e1f59356e5518d5fc6324 GIT binary patch literal 905 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV36QoV_;zTyr7ncfq}6#)7d$|)7e>}peR2r zGbfdSL1SX=L|c!;4iatmmrd;ok$I!=Xu?9PNC8nn^|eldS}jovL)j;L|6kzgJn7LR zjU8e#eVXzVlf6P-o?n+<(4%tCg|0p9<=;Qt`@Zi^Ejvdq*X1=ABo@5f zHq%e-NKRfT&weEqM!~4`lr+iWNmH8M|Jdc;@V>lo-qZN+&tHUo7Gq{o`lw^ zBI~l5#d~4*NYAj&^PTR#yA(buUl;AaZy_ElR*`n)%#!Dwi;pC2Y@W)OrW&j~Po;0= zEWe*l*OI4x7E50nl)Se3lepWbU#E<&XYwg_y6QMKaj=?B32f}Ocx$C8cBy3EhmZWb z>N;b%cAiRj65${!m2#c`AN&65Y*DpidzW}Hy{Iaj)1RoYhuh?J-{;yl7H5SOe(=P+ z%&p(b=u`T5s1 ztK%=3CoGIxn%B_moUp{>=4-q6@7}$+z29{0zrPG7Qbm2TkEfO}FfgzsdAqwXoMQ-J zFs|WRl+3`uz**oCSaL$Oq_ZO710hSKj&PGR@m9o@3j}-yPCB`TW71l($#s5uGNYAlLN8NR()^7HSps-0QJ24!*wRkDs=d$7ZPf#&OrH5`t+ zBrnLU;GVuGZe3OTjnj_PpM-fR6jfV&yV-VP9y9-&oRyld9Y1<<+=*cRW6@yhQ0Xqd z<=!b%gS|e>rvFUnniKHiM#SU0$J_4w(yqVx}peR2r zGbfdSL1SX=L|c!;4iatmmrd;ok$I!=Xu?9PNC8nn^|eldS}jovL)j;L|6kzgJn7LR zjU8e#eVXzVlf6P-o?n+<(4%tCg|0p9<=;Qt`@Zi^Ejvdq*X1=ABo@5f zHq%e-NKRfT&weEqM!~4`lr+iWNmH8M|Jdc;@V>lo-qZN+&tHUo7Gq{o`lw^ zBI~l5#d~4*NYAj&^PTR#yA(buUl;AaZy_ElR*`n)%#!Dwi;pC2Y@W)OrW&j~Po;0= zEWe*l*OI4x7E50nl)Se3lepWbU#E<&XYwg_y6QMKaj=?B32f}Ocx$C8cBy3EhmZWb z>N;b%cAiRj65${!m2#c`AN&65Y*DpidzW}Hy{Iaj)1RoYhuh?J-{;yl7H5SOe(=P+ z%&p(b=u`T5s1 ztK%=3CoGIxn%B_moUp{>=4-q6@7}$+z29{0zrPG7Qbm2TkEfO}FfgzsdAqwXoMQ-J zFs|WRl+3`uz**oCSiT1P%$U|^6eag8W( z&d<$F%`0JWE=o--Nlj5G&n(GMaQE~L2yf&QXJBBA_jGX#u{gancw=6(fykcr8(Lds ztx8TGi<_yRkoMuonRDL_%#DSavp+MprntYlurR2N$8*V<_0APn%-XiRau)k`vV6{8 zz9fUk@}j3&9PaV*?9)|vvgL%D^ok{}6CKplc4}(R_%X-Yn}Olmbmm!`n2Z-|YQNEM zpRLsB$=2YZEg-10Rwu^g3_F9zE(e7pl}6cLf4<9XGEGh8J`w(2UVe|#`}O&kz0Fvk za1=8=e|$3Pd+GPd%xwKi@7$)R6c^-f`ZCMmp3RAwcYRpAbF)sJI&~zbaEa)0*JI7n zeVvxmvIu7Qf zITR`A`4sKG=c89RiFta;G=Bwy>Rn%M|2i>^nY*O#%JsWzDqb*ek7At9wm>xC|03=n z{Zj5VZAY^r&M!N`(Q3UdDl-562df(|D_(KbTQqr=9KG|4ZQhy(ay9!~WEdD27(8A5 KT-G@yGywqcMuKSo literal 0 HcmV?d00001