From e848bd77be9b51bf7ce612f29ea50f2620da595b Mon Sep 17 00:00:00 2001 From: Kaktus200020 Date: Sun, 18 Aug 2024 17:55:36 +0300 Subject: [PATCH] addAnimationsZombie --- ZoFo/Content/Content.mgcb | 191 +++++++++++------- .../Zombie/zombie_spritesheet_v1.png | Bin 0 -> 5158 bytes .../Zombie/zombie_spritesheet_v2.png | Bin 0 -> 16388 bytes .../Animations/zombie_attack.animation | 1 + .../Animations/zombie_damaged.animation | 1 + .../Animations/zombie_death.animation | 1 + .../Textures/Animations/zombie_idle.animation | 1 + .../Textures/Animations/zombie_walk.animation | 1 + .../Entities/EntittyForAnimationTests.cs | 4 +- .../Entities/LivingEntities/Enemies/Zombie.cs | 12 +- 10 files changed, 126 insertions(+), 86 deletions(-) create mode 100644 ZoFo/Content/Textures/AnimationTextures/Zombie/zombie_spritesheet_v1.png create mode 100644 ZoFo/Content/Textures/AnimationTextures/Zombie/zombie_spritesheet_v2.png create mode 100644 ZoFo/Content/Textures/Animations/zombie_attack.animation create mode 100644 ZoFo/Content/Textures/Animations/zombie_damaged.animation create mode 100644 ZoFo/Content/Textures/Animations/zombie_death.animation create mode 100644 ZoFo/Content/Textures/Animations/zombie_idle.animation create mode 100644 ZoFo/Content/Textures/Animations/zombie_walk.animation diff --git a/ZoFo/Content/Content.mgcb b/ZoFo/Content/Content.mgcb index 09e9f35..d5784e4 100644 --- a/ZoFo/Content/Content.mgcb +++ b/ZoFo/Content/Content.mgcb @@ -121,54 +121,54 @@ #begin Textures/Animations/player_left_idle.animation /copy:Textures/Animations/player_left_idle.animation -#begin Textures/Animations/player_look_down_weapon.animation -/copy:Textures/Animations/player_look_down_weapon.animation - #begin Textures/Animations/player_look_down.animation /copy:Textures/Animations/player_look_down.animation -#begin Textures/Animations/player_look_left_down_weapon.animation -/copy:Textures/Animations/player_look_left_down_weapon.animation - -#begin Textures/Animations/player_look_left_down.animation -/copy:Textures/Animations/player_look_left_down.animation - -#begin Textures/Animations/player_look_left_up_weapon.animation -/copy:Textures/Animations/player_look_left_up_weapon.animation - -#begin Textures/Animations/player_look_left_up.animation -/copy:Textures/Animations/player_look_left_up.animation - -#begin Textures/Animations/player_look_left_weapon.animation -/copy:Textures/Animations/player_look_left_weapon.animation +#begin Textures/Animations/player_look_down_weapon.animation +/copy:Textures/Animations/player_look_down_weapon.animation #begin Textures/Animations/player_look_left.animation /copy:Textures/Animations/player_look_left.animation -#begin Textures/Animations/player_look_right_down_weapon.animation -/copy:Textures/Animations/player_look_right_down_weapon.animation +#begin Textures/Animations/player_look_left_down.animation +/copy:Textures/Animations/player_look_left_down.animation -#begin Textures/Animations/player_look_right_down.animation -/copy:Textures/Animations/player_look_right_down.animation +#begin Textures/Animations/player_look_left_down_weapon.animation +/copy:Textures/Animations/player_look_left_down_weapon.animation -#begin Textures/Animations/player_look_right_up_weapon.animation -/copy:Textures/Animations/player_look_right_up_weapon.animation +#begin Textures/Animations/player_look_left_up.animation +/copy:Textures/Animations/player_look_left_up.animation -#begin Textures/Animations/player_look_right_up.animation -/copy:Textures/Animations/player_look_right_up.animation +#begin Textures/Animations/player_look_left_up_weapon.animation +/copy:Textures/Animations/player_look_left_up_weapon.animation -#begin Textures/Animations/player_look_right_weapon.animation -/copy:Textures/Animations/player_look_right_weapon.animation +#begin Textures/Animations/player_look_left_weapon.animation +/copy:Textures/Animations/player_look_left_weapon.animation #begin Textures/Animations/player_look_right.animation /copy:Textures/Animations/player_look_right.animation -#begin Textures/Animations/player_look_up_weapon.animation -/copy:Textures/Animations/player_look_up_weapon.animation +#begin Textures/Animations/player_look_right_down.animation +/copy:Textures/Animations/player_look_right_down.animation + +#begin Textures/Animations/player_look_right_down_weapon.animation +/copy:Textures/Animations/player_look_right_down_weapon.animation + +#begin Textures/Animations/player_look_right_up.animation +/copy:Textures/Animations/player_look_right_up.animation + +#begin Textures/Animations/player_look_right_up_weapon.animation +/copy:Textures/Animations/player_look_right_up_weapon.animation + +#begin Textures/Animations/player_look_right_weapon.animation +/copy:Textures/Animations/player_look_right_weapon.animation #begin Textures/Animations/player_look_up.animation /copy:Textures/Animations/player_look_up.animation +#begin Textures/Animations/player_look_up_weapon.animation +/copy:Textures/Animations/player_look_up_weapon.animation + #begin Textures/Animations/player_right_idle.animation /copy:Textures/Animations/player_right_idle.animation @@ -193,17 +193,20 @@ #begin Textures/Animations/testAnimationExample.animation /copy:Textures/Animations/testAnimationExample.animation -#begin Textures/AnimationTextures/Character/hr-level1_idle_gun.png -/importer:TextureImporter -/processor:TextureProcessor -/processorParam:ColorKeyColor=255,0,255,255 -/processorParam:ColorKeyEnabled=True -/processorParam:GenerateMipmaps=False -/processorParam:PremultiplyAlpha=True -/processorParam:ResizeToPowerOfTwo=False -/processorParam:MakeSquare=False -/processorParam:TextureFormat=Color -/build:Textures/AnimationTextures/Character/hr-level1_idle_gun.png +#begin Textures/Animations/zombie_attack.animation +/copy:Textures/Animations/zombie_attack.animation + +#begin Textures/Animations/zombie_damaged.animation +/copy:Textures/Animations/zombie_damaged.animation + +#begin Textures/Animations/zombie_death.animation +/copy:Textures/Animations/zombie_death.animation + +#begin Textures/Animations/zombie_idle.animation +/copy:Textures/Animations/zombie_idle.animation + +#begin Textures/Animations/zombie_walk.animation +/copy:Textures/Animations/zombie_walk.animation #begin Textures/AnimationTextures/Character/hr-level1_idle.png /importer:TextureImporter @@ -217,6 +220,18 @@ /processorParam:TextureFormat=Color /build:Textures/AnimationTextures/Character/hr-level1_idle.png +#begin Textures/AnimationTextures/Character/hr-level1_idle_gun.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/AnimationTextures/Character/hr-level1_idle_gun.png + #begin Textures/AnimationTextures/Character/hr-level1_mining_tool-1.png /importer:TextureImporter /processor:TextureProcessor @@ -241,18 +256,6 @@ /processorParam:TextureFormat=Color /build:Textures/AnimationTextures/Character/hr-level1_mining_tool-2.png -#begin Textures/AnimationTextures/Character/hr-level1_running_gun.png -/importer:TextureImporter -/processor:TextureProcessor -/processorParam:ColorKeyColor=255,0,255,255 -/processorParam:ColorKeyEnabled=True -/processorParam:GenerateMipmaps=False -/processorParam:PremultiplyAlpha=True -/processorParam:ResizeToPowerOfTwo=False -/processorParam:MakeSquare=False -/processorParam:TextureFormat=Color -/build:Textures/AnimationTextures/Character/hr-level1_running_gun.png - #begin Textures/AnimationTextures/Character/hr-level1_running.png /importer:TextureImporter /processor:TextureProcessor @@ -265,6 +268,18 @@ /processorParam:TextureFormat=Color /build:Textures/AnimationTextures/Character/hr-level1_running.png +#begin Textures/AnimationTextures/Character/hr-level1_running_gun.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/AnimationTextures/Character/hr-level1_running_gun.png + #begin Textures/AnimationTextures/unicorn.png /importer:TextureImporter /processor:TextureProcessor @@ -277,6 +292,30 @@ /processorParam:TextureFormat=Color /build:Textures/AnimationTextures/unicorn.png +#begin Textures/AnimationTextures/Zombie/zombie_spritesheet_v1.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/AnimationTextures/Zombie/zombie_spritesheet_v1.png + +#begin Textures/AnimationTextures/Zombie/zombie_spritesheet_v2.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/AnimationTextures/Zombie/zombie_spritesheet_v2.png + #begin Textures/GUI/background/base.png /importer:TextureImporter /processor:TextureProcessor @@ -361,18 +400,6 @@ /processorParam:TextureFormat=Color /build:Textures/GUI/background/waiting.png -#begin Textures/GUI/checkboxs_off-on.png -/importer:TextureImporter -/processor:TextureProcessor -/processorParam:ColorKeyColor=255,0,255,255 -/processorParam:ColorKeyEnabled=True -/processorParam:GenerateMipmaps=False -/processorParam:PremultiplyAlpha=True -/processorParam:ResizeToPowerOfTwo=False -/processorParam:MakeSquare=False -/processorParam:TextureFormat=Color -/build:Textures/GUI/checkboxs_off-on.png - #begin Textures/GUI/checkboxs_off.png /importer:TextureImporter /processor:TextureProcessor @@ -385,6 +412,18 @@ /processorParam:TextureFormat=Color /build:Textures/GUI/checkboxs_off.png +#begin Textures/GUI/checkboxs_off-on.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/GUI/checkboxs_off-on.png + #begin Textures/GUI/checkboxs_on.png /importer:TextureImporter /processor:TextureProcessor @@ -421,18 +460,6 @@ /processorParam:TextureFormat=Color /build:Textures/GUI/mouse.png -#begin Textures/GUI/Switch_backgrownd.png -/importer:TextureImporter -/processor:TextureProcessor -/processorParam:ColorKeyColor=255,0,255,255 -/processorParam:ColorKeyEnabled=True -/processorParam:GenerateMipmaps=False -/processorParam:PremultiplyAlpha=True -/processorParam:ResizeToPowerOfTwo=False -/processorParam:MakeSquare=False -/processorParam:TextureFormat=Color -/build:Textures/GUI/Switch_backgrownd.png - #begin Textures/GUI/switch.png /importer:TextureImporter /processor:TextureProcessor @@ -445,6 +472,18 @@ /processorParam:TextureFormat=Color /build:Textures/GUI/switch.png +#begin Textures/GUI/Switch_backgrownd.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:Textures/GUI/Switch_backgrownd.png + #begin Textures/icons/12.png /importer:TextureImporter /processor:TextureProcessor diff --git a/ZoFo/Content/Textures/AnimationTextures/Zombie/zombie_spritesheet_v1.png b/ZoFo/Content/Textures/AnimationTextures/Zombie/zombie_spritesheet_v1.png new file mode 100644 index 0000000000000000000000000000000000000000..d54b7ba69da956c44cd58bf2e03f52c1ef521b50 GIT binary patch literal 5158 zcmZu#XH*kyw@nC!4xu-ZE(j_~t zdlRH1O==+I4)6W$THlZRXEJM6o^#HeXZAjOKhcKznlzLglpqj@Mq3MM1OkD1fcqSB zC~z%De%bN*I-xS)+xHSy2+8fOMMp+Ctjz>7JomX+?2fC-@9#P%A#}1 zT3jQVHC7riT+a(F;o+Fhqx&i0!}`a#va+(uZB(wP{_woD4zEVYEcMB*ORasBMa8X98OP%Uz-rY(nQ=CvAV6wm|F zpJscbztusl%W0NJUYZ+>B_*j6Z6+lPr*g)sh=(ZyOu9l{>$hFjb(M_@NX*_>*qtBT zc$2MUTBA#jvL>M^h6j&72>40~V!O(586!1x_v6zv7$RK|9!!s#aPwp-F#SNP&t8VH`sV9`dW|#yHbsqem&i%cT)ec_vnWw{W%BLP|H*A ze&>V;pg-Tr^;W^bsX^Bz*+GWRO0AZV%wm(>pg_*Vv^NK9F)+TA0j`ttle*C)o!q}` zaak9|`hiG}uV%uNJ0;R82(5F{?aua~ne+7{R|kbq2I>SDUsR!fM`*})=Gz!h7PPK* z@FjQ48M|`GaSbI3fguT^=@G@R->v6wQoV2J5Qc_*gEN8uxIXW7*5uN@jCdE#VYoWT z6?CwEcH-dD7qT-Em1V@a9Hj%4+tWQB#+n>A~l4?*0UZkg(BlqFGI1%UnqG{-Tds0RtIyLOw2hz|CH27h30s5O$T&n7G(akTwZnnIpZUq@K_XYhmM|T zsKj4W)+jaEJ?Cc@o!jPAqWr)O65gST3!m~`!$5tGT0}ND#7h%MT7T4-21y0bgFFIO zlAC6*_}{J1{Ig0hmCXxm{?pK`L0bmAs&w?-Eclr_5m{=Y0(`r`5&#e{_lAp{lO2q4 zt2aSC|BJRQ{!gu&kE9s5wb>x;K|f9#4--*iX>_fgA8j_M|6kyo@+6?!ipqfZn==9s znv6Sex!oQ)Ko>5Px6R^s`+J`X2Hn^Q=434sr z1yc)jktYt&-PyGUe;OR86g+Fvxkc96B4LZdyFKIVlmoBM?1J98`5z;50xg#9Ki7zx zJcC?zZ;Qnd>&5n~lapTzKz0k8xhAo!)lU!?A8#3D@ZgB{n9x*Bn9O|=T6Gp;u+tz_ zwZw+ep4hD?n?K$2EE7#a03d1*H^~D3W-E4u7`mgAtZ>6`mhRYP5voXjGU=8d%t3dT z{FJA6LeKhTux2v^;nAm)4`n_^m{Q|dz-zO+k9a)a1fxF<*hfcWW1e)$v z%S;qo7{_05Sc>?g(V&*1ci+2fTcM`@ZfvWs8&21Tj}_~2TNj@dX8%LIlbbJe4w{&;v=voe0(n^y>$ z@LOu=xR8}@HW%5S`_%zz93PiEvG;8b%mIJ=iNpAICPBeufz+hGwxil|!GWATx~!(h zEnJgEG)OW>VjG#odQx2lLKzp?23ucxnw7fUTqg zb<(RG(m(jz7EH?U$B=mre;8is3WG!KSzqh6v%&rhFh{R#hfV^tsp)56tLW<(TUmE+ zS(b`ny9jc`_;!=J4NO!rG!+~(usLXWy{~n4yRFQ|;DK>V1N%LB>P9KG@U7c94MYb< z6vIPmX>tA+O@yI~^QFHw4?XF$_NEQs%pLyt4f5R;dC6ni9ERC0w#1yBYY?tk#S?%c zS$O8jvzz6OtUau}i@h?|<}Rw8is3ajaDlnRZ`heByM>qZnpbF)8BL^4ni3u#g~-y~ zk*9Eu9QXGyH^%1fjF`&NnjE$0@^L0ioDvYqqleRxLkQJdE_TZnLFsOcObUg%{37Cy zWHOhFO*6s={5Ccu@_F=HKJ6A~YS3;V9N7ymiyt;5eTQzW!AigDXsLELL5AwzJPtDn zA4Wf4DB^Yy>y(4GkJ>Da7-RgT-bT`bGq z)HjXU9I_3}lHI|;Rrz#zoaWTcdhKf|)U(d8;ck!-JqF*f{504kcP@0KMenZ8b$+*sKwo4f?Rbix(3jXo>BCK{i{G@5DtCwypL1`}LatF*? z-aD0D&?3H^3VtCjeaO{b%V7^mGl$l;V^`W8cNW?s8t47o180kDedg9uNA^7SBc;xH z)@u{Th@SM$D)n6B6;&@f8pr|@nqPNITzx)6$mQqT8^Ss0De#eo$yPQikt5^6o-0)9 z6XLe7xejJ$SdDcahYtFw^f>6<6)F0%xtUJ3KWr`qeSRD|gG`4ENlj`6y9Zk&67HXN ztP*vCUkX$Zmjp(>#0)<%yPPEteVnuj4+#fY-Tu|mVZ~z#=tkeD!9!wqtm9JOX=74W zh9p47U!E7vhqR2EC&S)~Ioo~nQgR26)~^8~sr*u1rA+@hkmp5;H`5Q~b;n~xnC}uX zSeS>qediBax=4CH-hSiSj=FpFq5nNBkh25>3SBZF2Nzemv7?Jp9tAx^R;PZEkQ5iw z;4gzh3r8i;unB^r?XT0HxQLlPk@$V>dt`|$ybMD>NFQP9EHk@oOTuOs#Xt)h|H>sD z4ycLWQ9*7x4#~_Iz3%Fm8_*R>_>B- z$=$;Vl;Y_2_@b>N-2tHm4>G=jbuMSt0foheo{D7Z-uWzoLiHyU!dJE#Ep@Pfe0*QRfbc7c!epm5BlbhsqHdtE1c@TU<31ILG zkvq_W$f!6%(@KM4)6Q69@?#CVv**`l+ZG1GxOj(x$Wd?VnZ$(g(MBnj(2#Z8cUofG zUuA250?ZY1zU`Qg%W}yu`i3sfcPsMbOqljp!XE_xeTw8Hqej+MJcpOwsNmKW%hYU{OogeyD7tA) zKhVk1*U%}(V^{J=3PJCpJ*;ch>SCeA=^rG%Q#lqD0wpTFuy9wvo`=J*E+B|FQq*H z9nJN8X3R5{cKdT*3Fc9eS?I}&GeP!^rQmzQUHjgFe)7Pw+vKPd~uTm5`;t*gHx zw)uOHukwkF-CvC+whXs3|M(HOeLF8HJ`W}IfyajLy1?ol=R6rGlHlDUG^lKrIc zJ?qT8qR#!LM@9mt>7e<5lmVZq;AJ_(yQ-Q#v#g8OCtF-r4=_Z(tnUm`rH>EPwBQID ztz&ExHh`5rptp|o&5D}V`6ZidKL9!!9oHP@%yB}nNsXW%BFC4$v0-oWLWEB=Jx zeS+_GxR)?6($|-ojy6l?XH6bOe`Y?IW!x#JH_(#B`o0b1=Qs29XS?T!|8s1zZ9Aeo zfzJ=7XrUF(t_9^ZHd_5{E-j)pBHC^y9$nuRHp8t}XvT9xidlaBMXX>G@MM;}7!_&=A&)-dgxC$fSsVL92yRbr4&L%G5IELaGhbA&E()w<^`nDta-q8%wuwQ`rT zKE)wwVMMtOk1OsLC9yLZ!6Tbtp0%c!worHP9O1hgZFh;vVNDMSGR zvO{s;!&+Y|8LWl9kUQl_)h2Xxr!KSs`{}xohG+j+*HzN-ma&ByR9XW~h_{(O$7DzdzSPN&(8@h*js96O z-%#h&vUAPfbDJDDzd!8vm7i8mx$Yu1RvG((hL&c;N?L-rkW0wY_@}!<{A;)f<3NS@ zKdW79PO~R5_wq`HceAqU7BbM|)%?|m@V>VwxGEX=L+Rqz5 z)ij8z!zo9KLiq9Hy2B4d-)%|y05=lU9d(oA<0iioM-KgPU26mJ89g^1jQWiBs~TqG zV>fIh^&pN#&T}!FcD-f~LYeW~l6Gf;5?2E88#da4zy`|Ji6|MKag5!V6A5 zO%-LapvR<5$ux&0^OX3-xS$+7srK=b3gA2+kc7!?K+35!FicOSWy+F}K}Pf&=D@V^ zvZz_t=mH;>WZMVd4iLRIM`t41`{?~Q^fRMitb4n`%Y@~3O z?BfERD}V{Tk|R$x6vo>-X8`hZ?N{x~GSYj1;2$E2K2gz7T# zp|>JcAQX4F&&UAMPq_XI<&VHfJE@>yuB05WVNnD|mkmsh`20y6VuwbOPtrBgVqhO) z3o9WXPGN{e9*HY4UR*Fj=$TKf1`hr}+UokqN`!61{{SG>^Hl%< literal 0 HcmV?d00001 diff --git a/ZoFo/Content/Textures/AnimationTextures/Zombie/zombie_spritesheet_v2.png b/ZoFo/Content/Textures/AnimationTextures/Zombie/zombie_spritesheet_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ca02ceafeb728fcf34400cad6c4a92c03c28a1 GIT binary patch literal 16388 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⋙M{cB;EQ0AnIG_UaP6&pzuu2Dd&yIMUnp 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 literal 0 HcmV?d00001 diff --git a/ZoFo/Content/Textures/Animations/zombie_attack.animation b/ZoFo/Content/Textures/Animations/zombie_attack.animation new file mode 100644 index 0000000..b8129db --- /dev/null +++ b/ZoFo/Content/Textures/Animations/zombie_attack.animation @@ -0,0 +1 @@ +{"id":"zombie_attack","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":64,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":3,"isCycle":true,"offset":"0, 0"} diff --git a/ZoFo/Content/Textures/Animations/zombie_damaged.animation b/ZoFo/Content/Textures/Animations/zombie_damaged.animation new file mode 100644 index 0000000..6d0609d --- /dev/null +++ b/ZoFo/Content/Textures/Animations/zombie_damaged.animation @@ -0,0 +1 @@ +{"id":"zombie_damaged","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":128,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":1,"isCycle":true,"offset":"0, 0"} diff --git a/ZoFo/Content/Textures/Animations/zombie_death.animation b/ZoFo/Content/Textures/Animations/zombie_death.animation new file mode 100644 index 0000000..97aaa9c --- /dev/null +++ b/ZoFo/Content/Textures/Animations/zombie_death.animation @@ -0,0 +1 @@ +{"id":"zombie_death","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":96,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":9,"isCycle":true,"offset":"0, 0"} diff --git a/ZoFo/Content/Textures/Animations/zombie_idle.animation b/ZoFo/Content/Textures/Animations/zombie_idle.animation new file mode 100644 index 0000000..b96e1a3 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/zombie_idle.animation @@ -0,0 +1 @@ +{"id":"zombie_idle","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":0,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":60}],"textureFrameInterval":0,"framesCount":2,"isCycle":true,"offset":"0, 0"} diff --git a/ZoFo/Content/Textures/Animations/zombie_walk.animation b/ZoFo/Content/Textures/Animations/zombie_walk.animation new file mode 100644 index 0000000..f6dbfa5 --- /dev/null +++ b/ZoFo/Content/Textures/Animations/zombie_walk.animation @@ -0,0 +1 @@ +{"id":"zombie_walk","textureName":"Textures/AnimationTextures/Zombie/zombie_spritesheet_v1","startSpriteRectangle":{"X":0,"Y":32,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":5}],"textureFrameInterval":0,"framesCount":8,"isCycle":true,"offset":"0, 0"} diff --git a/ZoFo/GameCore/GameObjects/Entities/EntittyForAnimationTests.cs b/ZoFo/GameCore/GameObjects/Entities/EntittyForAnimationTests.cs index 2bad778..20e779e 100644 --- a/ZoFo/GameCore/GameObjects/Entities/EntittyForAnimationTests.cs +++ b/ZoFo/GameCore/GameObjects/Entities/EntittyForAnimationTests.cs @@ -14,11 +14,11 @@ namespace ZoFo.GameCore.GameObjects.Entities //public override GraphicsComponent graphicsComponent { get; } = new GraphicsComponent(new List { "тут пишите название анимации" }, "сдублируйте " + - public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List { "player_idle_rotate_weapon" }, "player_idle_rotate_weapon"); + public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List { "zombie_idle" }, "zombie_idle"); public EntittyForAnimationTests(Vector2 position) : base(position) { - graphicsComponent.ObjectDrawRectangle = new Rectangle(0,0,16*12, 16 * 16); + graphicsComponent.ObjectDrawRectangle = new Rectangle(0,0,16*20, 16 * 20); position = new Vector2(10, 10); } diff --git a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs index bc504f9..a82a70c 100644 --- a/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs +++ b/ZoFo/GameCore/GameObjects/Entities/LivingEntities/Enemies/Zombie.cs @@ -11,12 +11,12 @@ namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies { class Zombie : Enemy { - public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent("Textures/icons/8"); + public override GraphicsComponent graphicsComponent { get; } = new AnimatedGraphicsComponent(new List { "zombie_damaged" }, "zombie_damaged"); public Zombie(Vector2 position) : base(position) { health = 5; speed =2; - collisionComponent.stopRectangle = new Rectangle(0, 0, 100, 100); + collisionComponent.stopRectangle = new Rectangle(0, 0, 52, 100); graphicsComponent.ObjectDrawRectangle = new Rectangle(0, 0, 100, 100); } @@ -26,12 +26,8 @@ namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Enemies AppManager.Instance.server.players[0].position - position ); velocity=new Vector2(duration.X * speed, duration.Y*speed); - if(position.X>595 && 605>position.X && position.Y>495 && 505>position.Y) - { - velocity = Vector2.Zero; - } - //position.X += velocity.X*t; - //position.Y += velocity.Y * t; + + } } }