From 4a5115675984d0b9efac5292d579e8cdd7844dee Mon Sep 17 00:00:00 2001 From: Recrown Date: Fri, 2 Jun 2017 23:03:00 -0500 Subject: [PATCH] shard entity functionality has been added --- android/assets/1280x720/shard.png | Bin 454 -> 572 bytes android/assets/1280x800/shard.png | Bin 547 -> 696 bytes android/assets/1366x768/shard.png | Bin 496 -> 666 bytes android/assets/1920x1080/shard.png | Bin 830 -> 900 bytes android/assets/1920x1200/shard.png | Bin 951 -> 1122 bytes android/assets/2560x1440/shard.png | Bin 1234 -> 1372 bytes android/assets/3840x2160/shard.png | Bin 2675 -> 2028 bytes android/assets/800x480/shard.png | Bin 269 -> 383 bytes core/src/zero1hd/polyjet/Polyjet.java | 1 + core/src/zero1hd/polyjet/entity/Entities.java | 2 +- .../polyjet/entity/EntityController.java | 19 +++++++ .../polyjet/entity/enemies/Pellet.java | 2 +- .../zero1hd/polyjet/entity/enemies/Shard.java | 48 ++++++++++-------- .../polyjet/ui/windows/SpawnerWindow.java | 5 ++ 14 files changed, 54 insertions(+), 23 deletions(-) mode change 100644 => 100755 core/src/zero1hd/polyjet/entity/enemies/Shard.java diff --git a/android/assets/1280x720/shard.png b/android/assets/1280x720/shard.png index c2e203c5c46317aa72115310cab215060ef9b59d..381e67d69b23c828aa0ca7bd4d0da252d902d36a 100755 GIT binary patch literal 572 zcmV-C0>k}@P)yqNpvYJ#gT_fr|q{nU|o|ykUgRrPH z18j1vVy{te)3rpzy&%ctL-KxJX(_m8>hb`}dBp3IQ|t^~EAA!j_PL6^LbomICM^Ot zOkZw6aXRrb(;J%dRj0IF(-fy$<(;;)09-J0xdI^)PlI=6HZ%4MK4DNwu6ldArxZWC z|J~ylPZ6g&R21eqS9YVLY*ih)cC*``$egCfif-eAS8H;nL3~b+El)F+RJ@?tcwdc+ z3dKtzg+K^gDv(}-LecW4Lvo?fxm|t>z7?N;EOgGAOnF;uy+=iJ2TEj%`l#S4r(=6m zwJ~wdDW_vLR5op8R<-DrM^K@eq2i!B#9eYZnRo~~Viu+7i{pw<7{`&|1{y|AD>0$#1nm>SdDieq5H@A*F|1t_J1%sdVN0000< KMNUMnLSTYPqzZTd literal 454 zcmV;%0XhDOP)OuV`4!3B&rx3dI6#W!#ZK7pWk5YdYVA31*X0#+Dff~Z72TG6T37^Sj3b0jb~)hqwOJgVi~IS`=)S-FHM$f9vN*9%ky@* z6=*;&Ht}u>L+*3vL!&+)bjp>%NMa7Rrg+?A9$l#YDW9JRS}=w~t6X=;|Hl~D@*|Sm zq~$E*(UcAu#8vboF3H`P!9|H)?YPD)Qj$D^b-WsX@rEsoO7aBGefH{vOy#80^M=0B zZ_hcW=ahc)mCxk7PH9?_<2u?aK1N%X>Y6>;_BVDdXgMq7|kWm wF+IbgdS=NB&NQ*~8RqIerr(#;Yths58yHI>>37|4X8-^I07*qoM6N<$f<)cYFaQ7m diff --git a/android/assets/1280x800/shard.png b/android/assets/1280x800/shard.png index e15e7b1366a3178420a3acd5e977e1dbb1eddf32..d77b6db64ec5fff49c81ff2fd954ad90e6f5364d 100755 GIT binary patch literal 696 zcmV;p0!RIcP)VW@HdNUBS z($f)9K>YhZD)E7O;4Khq6YBsrAl^boZXhPN>;OeGF^)(A;-CL%1AYNCw5$O&jIcQ(2pU}U0H6j@IJyJGf%q03LIF86?gFtSvLj|t zu}mPP?3f2GJAi~cv}hd&0IHdNK#nMbR=WcMK+#eKas&?$pB*4aoCmeoU}?g30HWjz z5IZ3!OePYWZ`4SXn9V;>3kZmB(8&>?2D1pRQqv9EWTz$g3C*iUjaU~z~Z1!{f)=LF&-Bt#2H-AN$k zruGeMF=N2*$qx?+JzALCuT20mALNaPv eP;OD8#2f(HsLBMpS2xN40000X1^@s6*FMFU0005%NklT1!`8poqFP8K=tIy+=0>p3>XK@Ah@D01z!ld4B z(Y%;%8;8+^3mC=+1qk)LhEa4Nt@#bU!#syxEZ}#zf7t6M=tJASLw2@dw{Zz~u<5KK zbXHTu1PZ#Xf7{~W2u|ws2l2)ezzy^cx3q2hUc!Pj>NalRA%2F@;}_<%ZM&_M1!=`q zjA0{U74B+2<2JgGu^@R2VHrDNZNuiR=oT*q%El?>L_Om>X6zU&$N*l}unpf>#mzwJ zJgvy}j30PVT1j4edsWA3Y~E{(l+GlhQy#~s8gJ)|Zl~L_+=8T(CwA|%*sdW@=9T{c z^CVH0v2Uwn?0a9vy0ueKZ4@ii&R5*UWv6xy`Ks8K`Pfs%f3S%D165qsPtxiacIqF? z`pLTbNvF4;ROoE?l{>r2i7C~Xzq5IIY*tD5RCV%PRUX}Aooyx6)pM$=7YgWh`&hNV ljkpf2S^1OG3M&5Z>;Ymf6DHI690C9U002ovPDHLkV1lR_2}=L~ diff --git a/android/assets/1366x768/shard.png b/android/assets/1366x768/shard.png index 33441ace27cc3cc3da72579b02563d37979a486b..5e9c4fb5572b1c9c24bf5cddf02ef85b319273f4 100755 GIT binary patch literal 666 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 IM6N<$f`!V92><{9 diff --git a/android/assets/1920x1200/shard.png b/android/assets/1920x1200/shard.png index 3a11d8bfae596cf3d8c23b45121dcd3c8a43c824..2b6bf7af79d8404ccd95156cc4808350e24d8ca9 100755 GIT binary patch literal 1122 zcmV-o1fBbdP)CqN<2t;1Ku)eu8F@r=pOR;1kf9ub^5r5o19oh>8D3-`@n|RT6R#^ohYn zVveXHq7r-r2@4_gv(I3K>>@^hu9T3n^2!}BQdSW|!A?%>Y(}1Gp#PCk$ZYTd^xF{9 z&mmSOn~2fivP}_YF;_sLOhPE6{@4sF!*tG|w!1Jnj3q8L03 z*c;}O`~*x6BEgSwUW6rt%KAy)wl6GV8TcKN2(uX4zg77n1`ip-2cfu##_of0UPa`B z!vQC^omIaD4EG|Wink$A3Na30)ow);fvY~R-d@(0>tLdr1mDZaCW89b7xiENDky|L^FDL3kK$O1Do%C(3WLtUYe zs!Vr?YE&e|s4z9rzA)2R`I_YG2^FPVbY9A~ajX!|hc;n`6nSHb-L3q73B?$Pt7az$ zt3q&F!h=PN8AHv!K5<=d%FzB!p zpqN>F&iC^~8RvuDoG`C&%k&lI(+g9J)=uRbpefANv}OtG4krW zftF5$ceWaY`#W2@(b5r7UkBtvScl6hM*q_(ypErJ6th$~pZ*%tT6u0|bK*A&=eJCo zLa$Ob#29ZV*r{U1n+rvnjD`=kSR`M1N!ZwiEEh7|_st-tIm?KGywR%3Zd8Fp@*+$u zjflr|P}5W}e9&r o4XKg3O4(>7odRb?z?b;{0V8#^(Z^}@T>t<807*qoM6N<$f)17j(*OVf literal 951 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 diff --git a/android/assets/3840x2160/shard.png b/android/assets/3840x2160/shard.png index ddda9c7c0d0c636bd334b5fb0a4e947caa9f2b14..8fa8673f95254fdd300e9d4ecbd8ba2f809a9638 100755 GIT binary patch delta 1963 zcmXYydpy(s9>d=Ic%TKg~TEo!ti?2&-wiH54bsQTh@iokyA&EVtWiCsI zre7wG%dessHLIqmU!B}eb9bbaov+UM<8yz0UZ3~l^?7{WpJhFnrcpNF?Wuv-flyFT z&>$Wq_(3fNDw(RvP+h9(y;9OW2y)8a7~41z9!`3*l7H}}EPuRwG}P=&+$#}> zdShTB^3a|`xTX3`4vNlRC|_X3{C&y*Mk5Ulr2ZS!U?%xo2LyhG`pMh4T~3B5=~t2p z)^b8u@jGR0sY~8*)rMQqJbw>CBlYLPR;ZU)$+J!O5VCXishsPJg$n{(vl87B)T-bW zUi5qopOP$VN}7?U_^|4|RI!$yE-QZLJ+g~(yi5#c`@$s+=_={-tj69m4$qN^4Ke&c zP;FlAh30r1kwU`hOV6_0M2G}Z%7(0oT0H@u$T%EfEJ~|tnFn7>I$Xfp7M%Z53 zk|nZxU41029FZuq<)iyYVCnC^1Vjm4zJ&~H!?0;>*3*p-SU~dJHYr``Cc?be;ofSG zE@(~fuxy@+&EzN^vcSvZPpU_Ka{(Pghi4Gjn>{d`{*u?sPDOk4>exkKq}&1CUlo>D z!~XV1cjY?`np0}$k&Y*F?PD|Zb2&?oPp7F%7_hq+$ZeU73&Lt!Ue91gXXz(kB>T;l z=^JwtKZ+|*D~-0;iZ$qVO&U5*%mFGFDvW&LG<{`LCH4Qj5D#TPV2nGNfc1D$Z)8|E z&xTzSjtI}~{38?)V8~@}`tc>L>1`e;exR1spqqsyog|KBJ-+r1XN*<9UBsO3iaa`? z|9pF5<0K$ZAZL9L$fryn@?lu@W<7LP@jvxVxYFnYEY8zIX86Qac}KNBt^~XKR>Z9} zA}0)w%9s5XAy{J+)P?BMLQVLpa~b})aiun9o;s_CV($e;6s%g$_WX?O9aL4bSal9} zIj$7DTgg|vlo8vPTxZ2Ef94OXR-g0qYk`F9n+uQxHG9*MBoA6dFnUwdx#Y;I^Bxxw zp_y9{8?reyR5DnFko?YNgkg@AIhM=p{p=ONl^-sK>)>heQf6#_@>CE&HzVWwsEuI| zLs1s+5Rx(GC8$5To+lYoyz+xvsxoQi9{b!@41*C$ef%%(pH;EwmirY^i z(;3JE5Ob|i3~gUA4E2XjFfPzRXNhY|BWVQ*o+(4c`>q!}qj~MeCX!o`4{faLa-s9$ z|Aw{Gs(Au2@mvQ@r=^WsH%L(MdadDWSw&3qsLSrI(RQ`EZjq*TTBdJx4zE@5!Ukf# zh{3>qlX}}V*M&$ZaLUCZ>38t_dRpEq^L*r~5huEZ2Bm6UX?7F}W{)r2;B%=lbOZce z5zbgyxC^~j|ETi5?(@Y9NXC(&IPWjAIRCp37!?AIM2)RsFPX|yKSsT;ePe)JU)LdV zNL`OXD9G&*J}vq!XnA|s-SxDF)@0`E3 z@8RpW*vwJTQqJP+OmI)3%#|5X(XRYbhOs|F($`3YR0Ojg)zT> z{k$n{&x=pEf0@`7Dq(daL2SoHV{q(-0aiE4qCPme${1^Z@Kbs9S(GEMgoAF?InnLW zcixhUkPLqA_hp4n9rYhcF|J6*y{3g>RA@V5B>djmpIv(VD1zt~X&-6P=N|OLJP-cv ze&*ezo44QQAbYQ#Jl%-4BW;Ujz}Wz!8BDz%KQLtnJH`t~0j;5wzE~nH*O3`MKd7_ z5Ij-ME=6&9R}m710&&+ozn2>>-AQx$II43&2i?!)cqe$Grf>V521c|^KyI-w{N_ZM zr*bUFt+hAhA+8LtD~bP0d}3eL6P{HkH$tI(I1+urmc6NuvEm`xPi7kuS5M6W_Ns%b zg~Ac-+GO$?yy%$p(J)9p^ot1f@@j30;(aYT?12IVcBNGar~YTVrl;Xp%d>Y(-(r73 z1RmmN<8R}1!ad{l@_KFrYtS84OwH)L9Z?hMwLiU>c^wDk&8?D#?fHB0A?u(8AP5Cq j0h{~Oj3nV$yZY`53*8LjyfyUwDiGbh2~DoSimCqv0F{ra delta 2615 zcmV-73dr^B5AzfuiBL{Q4GJ0x0000DNk~Le0000j0000)2nGNE02Sf92$3OKe+lDB zL_t(&L(STEsI6BK1@IVa?3$>Fy~GwvVu>1!vG?A4@4fdz?4W|ZfermbMX-Vj*8fBl z6;TL85kv$*?YfZ4jnqQ6C4|yFSuZE zk>KLNrGv``mk+KKTrIdpaPsogfA=c~{_Z;0Um|e7=Xjpyj@~!KaBv3a3C*a0b&TUot3%Me|w# zCr=A*65Mq8>AN4`@2+#b`z{q+G}v*phl2x%f`?X=Md^gVlyl_T!3_hBf1VMX8N4^R z_42!Me;4&~-2D}8&)qoM!@&WjQ5K~W15?i7Q-hlaoV-Kunt;7E@cpd7-$k9{?mHz~I*b`(yC%!1(O~*SX$(#EB+Exua+g2OEkO zJ<6hk7BT~_iXeyX9y}oUe{9h0Yk?nfkHB@Vzd_)B&lyE~t>eSNhG~>VMRa6}>jt=b zn}9Re;_Hb~CX_Q5yqAZ2sC&8I|4nHn9Ct!bH ze%258dGPpv<97>i-~HDNi1PSg<7f{Dm#8SqqZbZDLyjdPsm(Ose*uR&b zW&c`!ej@P0Tz}^PzdgtEJXZ?!p2Ozt;b2fvHeDAA6cW+6Vn9SU4ovgCgGUE12>uYP zv%duBku+Hah|5$#0 zCwO`wqYy57$={wUe+7Eaw7hR~eC5j$F6!c|6emT=v8M-j3}l2S25$+7jp)`{{rx?` zlLIG|GMqMW74%9o&`T(lU8PocP1V49yB{48K|Q7$X4|0+PI#{}pl``jq# zqUhzQr z#G&#L3(*kI{Q~LhRe_3kBqk-w-A@SaAKX4DQF63|95Yk{#79JL3pNqooVl0j1fLR= zDCK_d>$!Uye@!^;AAW^t=-HxjGLaAq(Gbt`f?ouzIJ#5oqI_YXILX~|zZ%eKBAfK0 zb1bKe$EKl*NYO%0zGXlx#78`z4%nvRo3r}CUkaWP5T)FYhUh3;^=u-b3z~4cXo1JQ zPcB;Mhlzz~ULE{7*h?eI*9CIE5|4)7D_d1Isa4K`f8U%g9#;n^$(tV2R5_Vgb|bzy ztLOYEcuw%BpmMitqL@|Ry~S@%<4dJCJT@&0(&B-wD?}Y_DXznR?q)QAa~0qiVj`T7k)1m z#GJ+#JeFomhiNfAXz~7FKg2g@RVhCjpowCpf7g+Ai{B@6S}!a7rlDvdTf8LLZ}H99 zZ-bWy=&9(Si8M%Wr*K;J(Hd5^P*UYg?ISyAhf9>U9<&U7U5UP@a(Wcy*9LzJj;2|n zy(y?@-!ssgoX%-n!5Lhx6j$P_wcSBmuauqJ*l-4?DO2c8fvI?Vz)BQH%j*4-flMZ& zf5{|ga=LH0JSo_1+qu_fUr={h8$D-@oUYBo{}=mRz-c`Y-7TD+(&L>0JE+_|XGM<> z2k23SW8f6999 z*8{YW;?PuoU)u@RuZ!(6PWOdv@f&~YXo7kzIPC_p{c2T-@1;TY8M1|}HeA@&c}i`C z)zS;U)%sd1+IM4n-AL8*J`~6nXsKKmkLhh?i;UBK({Z|4gHJYVw5+m;oldq_qO9lq zI6w<@vh1i-qdI;=6VoQy%b|O< z;I)7ya;<}GRkWDf>Rs$nb9&vTdZ&qOqUdO--W?FokygqsJ|b5{WQ(H3e_~T67#`7a zx;x(aJw3jlW<|#iDp7tnU^^A%RD49Ph}hXGS}gK$FnfH_9WR>n69Lm?x=fp7-}kDI zbi0h0-w@QEw4O&ZR9m}KT5LHCQ>WL_#I#BFdI7ncDC@sTY|8Bt-*oq%*!z*(+LPPv zba%Ydq_Rmr{Osp1CCW`pf4p|LpR*A8y2H#iBg8(g@MG`e}6Cbhf z>OddL@uG?8s^bm0n<(Yf>ID6lh(87E%$oC+L3MCCN#d)V?D=bHe^J;r(BOumNfn(g z%H9bo4j&8Hl-rf!J`?B|dk0tItKOp1LeNHj9oFeilgi!1LNr8adZ}M=;LuM4R&*$b ziB)>54Hr3iD!%G1W@%9v4mMP@O;?GMScrxwO)r|@C&ynAbWv92v-;t%B7znc8pLPT zMES7d>lh9;%tgB|e;BA=(c!qMci7YIn}JNhVb`HmoydAlb#QCN*D)NNU@qEyLCg^m zL=_q3_W^UdOQ^;s&wWlQ)hs3IqK7QR1ei^!VGcn28_B>wKyC<0yw$;FXcYHz?} z;1+V~6nP+igT=77K&(h^&6k4abr3s)l6sj5i1#2FxE~}&X=Sep#2^fZ~@aDB!&x!IE>)}LR(rTR;{ zUcGW0En|#}BuXgj+I8$=BZN4Lm|>x7*$dgh2-4`|hC2qj7x6-2Bv8lBylan!ehW)5 zhCD`iSV37&P>_rSvuNXJzUzc8auTd!WrAyingm<8{0Uy=j}ok5{U^AUMkSa-C*X`{ z^t>~AU5|fsJ=Lz`{(Ib8!2_DFd-P3api>b;WDpIS^&Crm9G|oHy`G9n*{|mbkUZ76 Tc7vql00000NkvXXu0mjfA)#@7 diff --git a/core/src/zero1hd/polyjet/Polyjet.java b/core/src/zero1hd/polyjet/Polyjet.java index ac65df4..1532aaa 100755 --- a/core/src/zero1hd/polyjet/Polyjet.java +++ b/core/src/zero1hd/polyjet/Polyjet.java @@ -125,6 +125,7 @@ public class Polyjet extends Game { assetManager.load("pop_close.ogg", Sound.class); assetManager.load("laser.png", Texture.class); assetManager.load("pellet.png", Texture.class); + assetManager.load("shard.png", Texture.class); } public void generateFonts() { initComplete = true; diff --git a/core/src/zero1hd/polyjet/entity/Entities.java b/core/src/zero1hd/polyjet/entity/Entities.java index 464bfa8..72e92d7 100755 --- a/core/src/zero1hd/polyjet/entity/Entities.java +++ b/core/src/zero1hd/polyjet/entity/Entities.java @@ -1,7 +1,7 @@ package zero1hd.polyjet.entity; public enum Entities { - POLYJET, BAR_BEAT, VOID_CIRCLE, SHARDS, LASER, PELLET; + POLYJET, BAR_BEAT, VOID_CIRCLE, SHARD, LASER, PELLET; public float x; public float y; diff --git a/core/src/zero1hd/polyjet/entity/EntityController.java b/core/src/zero1hd/polyjet/entity/EntityController.java index f2ceba1..0168e0c 100755 --- a/core/src/zero1hd/polyjet/entity/EntityController.java +++ b/core/src/zero1hd/polyjet/entity/EntityController.java @@ -8,6 +8,7 @@ import com.badlogic.gdx.utils.Pool; import zero1hd.polyjet.entity.ally.Laser; import zero1hd.polyjet.entity.enemies.Pellet; +import zero1hd.polyjet.entity.enemies.Shard; import zero1hd.polyjet.entity.enemies.VoidCircle; public class EntityController { @@ -19,6 +20,7 @@ public class EntityController { //Enemy pool declaration; private Pool voidCirclePool; private Pool pelletPool; + private Pool shardPool; //Ally pool declaration; private Pool laserPool; @@ -43,6 +45,12 @@ public class EntityController { return new Pellet(assets.get("pellet.png", Texture.class)); } }; + shardPool = new Pool() { + @Override + protected Shard newObject() { + return new Shard(assets.get("shard.png", Texture.class)); + } + }; //Ally pool initialization; laserPool = new Pool() { @@ -68,6 +76,10 @@ public class EntityController { Pellet pellet = pelletPool.obtain(); activeEnemies.add(pellet); return pellet; + case SHARD: + Shard shard = shardPool.obtain(); + activeEnemies.add(shard); + return shard; default: return null; } @@ -92,6 +104,13 @@ public class EntityController { pellet.remove(); activeEnemies.removeValue(entity, true); pelletPool.free(pellet); + break; + case SHARD: + Shard shard = (Shard) entity; + shard.remove(); + activeEnemies.removeValue(entity, true); + shardPool.free(shard); + break; default: break; } diff --git a/core/src/zero1hd/polyjet/entity/enemies/Pellet.java b/core/src/zero1hd/polyjet/entity/enemies/Pellet.java index e1206ae..128ba09 100755 --- a/core/src/zero1hd/polyjet/entity/enemies/Pellet.java +++ b/core/src/zero1hd/polyjet/entity/enemies/Pellet.java @@ -41,7 +41,7 @@ public class Pellet extends Actor implements Entity, Poolable { hitBox.setPosition(getX(), getY()); super.act(delta); - if (getX() > Polyjet.GAME_AREA_WIDTH || getY() > Polyjet.GAME_AREA_HEIGHT || getX()-getWidth() < 0 || getY()-getHeight() < 0) { + if (getX() > Polyjet.GAME_AREA_WIDTH || getY() > Polyjet.GAME_AREA_HEIGHT || getX() < 0-getWidth() || getY() < 0-getHeight()) { dead = true; } } diff --git a/core/src/zero1hd/polyjet/entity/enemies/Shard.java b/core/src/zero1hd/polyjet/entity/enemies/Shard.java old mode 100644 new mode 100755 index 5549845..2afacff --- a/core/src/zero1hd/polyjet/entity/enemies/Shard.java +++ b/core/src/zero1hd/polyjet/entity/enemies/Shard.java @@ -1,5 +1,6 @@ package zero1hd.polyjet.entity.enemies; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.Sprite; @@ -7,15 +8,14 @@ import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.scenes.scene2d.Actor; -import com.badlogic.gdx.utils.Disposable; import com.badlogic.gdx.utils.Pool.Poolable; +import zero1hd.polyjet.Polyjet; import zero1hd.polyjet.entity.Entities; import zero1hd.polyjet.entity.Entity; -public class Shard extends Actor implements Entity, Poolable, Disposable { +public class Shard extends Actor implements Entity, Poolable { private Sprite sprite; - private Texture shard; private Rectangle hitbox; private Vector2 angle; private Vector2 center; @@ -24,10 +24,10 @@ public class Shard extends Actor implements Entity, Poolable, Disposable { private float rate; public Shard(Texture shardTexture) { - this.shard = shardTexture; hitbox = new Rectangle(); angle = new Vector2(); sprite = new Sprite(shardTexture); + sprite.setSize(2f, 3f); center = new Vector2(); } @@ -37,15 +37,13 @@ public class Shard extends Actor implements Entity, Poolable, Disposable { maxHp = hp; setPosition(x, y); this.angle.set(MathUtils.sinDeg(angle), MathUtils.cosDeg(angle)); - sprite.setRotation(angle); - setSize(1f, 1f); + sprite.setRotation(-angle); + setSize(2f, 2f); hitbox.setSize(getWidth(), getHeight()); center.set(getWidth()/2f, getHeight()/2f); sprite.setOrigin(sprite.getWidth()/2f, sprite.getHeight()/2f); } - - @Override public void reset() { hp = 0; @@ -62,43 +60,51 @@ public class Shard extends Actor implements Entity, Poolable, Disposable { @Override public void act(float delta) { moveBy(angle.x*delta*rate, angle.y*rate*delta); - sprite.setPosition(getX()+center.x, getY()+center.y); + hitbox.setPosition(getX(), getY()); + sprite.setCenter(getX()+center.x, getY()+center.y); + + if (getX() > Polyjet.GAME_AREA_WIDTH || getY() > Polyjet.GAME_AREA_HEIGHT || getX() < 0-getWidth() || getY() < 0-getHeight()) { + hp = 0; + } + super.act(delta); } @Override public void draw(Batch batch, float parentAlpha) { + sprite.setColor(1f, 0f, (float)hp/(float)maxHp, 1f); sprite.draw(batch); + batch.setColor(Color.WHITE); super.draw(batch, parentAlpha); } @Override public void collided(Entity entity) { - // TODO Auto-generated method stub + switch (entity.getEntityType()) { + case LASER: + hp--; + break; + default: + break; + } } @Override public Rectangle getHitZone() { - // TODO Auto-generated method stub - return null; + return hitbox; } @Override public Entities getEntityType() { - // TODO Auto-generated method stub - return null; + return Entities.SHARD; } @Override public boolean isDead() { - // TODO Auto-generated method stub + if (hp <= 0) { + return true; + } return false; } - @Override - public void dispose() { - shard.dispose(); - - } - } diff --git a/core/src/zero1hd/polyjet/ui/windows/SpawnerWindow.java b/core/src/zero1hd/polyjet/ui/windows/SpawnerWindow.java index 7ce0025..2889ccd 100755 --- a/core/src/zero1hd/polyjet/ui/windows/SpawnerWindow.java +++ b/core/src/zero1hd/polyjet/ui/windows/SpawnerWindow.java @@ -15,6 +15,7 @@ import zero1hd.polyjet.entity.Entity; import zero1hd.polyjet.entity.EntityController; import zero1hd.polyjet.entity.ally.Laser; import zero1hd.polyjet.entity.enemies.Pellet; +import zero1hd.polyjet.entity.enemies.Shard; import zero1hd.polyjet.entity.enemies.VoidCircle; public class SpawnerWindow extends Window { @@ -79,6 +80,10 @@ public class SpawnerWindow extends Window { voidCircle.init(mod2.getValue(), coords.x, coords.y, mod1.getValue(), mod3.getValue()); stage.addActor(voidCircle); break; + case SHARD: + Shard shard = (Shard) entity; + shard.init(coords.x, coords.y, mod2.getValue()/mod2.getMaxValue()*360f, mod1.getValue(), (int) mod3.getValue()); + stage.addActor(shard); default: break; }