From d59f149342870bc048e6fbc08189101ce8c4fa61 Mon Sep 17 00:00:00 2001 From: Hong Luu Date: Wed, 28 Nov 2018 23:10:19 -0800 Subject: [PATCH 1/7] Ticket-82 Setup Score to use images, it's going to get ugly for the numbers --- .../assets/img/scoreTexts/scoreTextAsset.png | Bin 0 -> 19989 bytes client/assets/img/scoreTexts/textNum0.png | Bin 0 -> 21771 bytes client/assets/img/scoreTexts/textNum1.png | Bin 0 -> 21733 bytes client/assets/img/scoreTexts/textNum2.png | Bin 0 -> 21794 bytes client/assets/img/scoreTexts/textNum3.png | Bin 0 -> 21776 bytes client/assets/img/scoreTexts/textNum4.png | Bin 0 -> 21766 bytes client/assets/img/scoreTexts/textNum5.png | Bin 0 -> 21773 bytes client/assets/img/scoreTexts/textNum6.png | Bin 0 -> 21812 bytes client/assets/img/scoreTexts/textNum7.png | Bin 0 -> 21687 bytes client/assets/img/scoreTexts/textNum8.png | Bin 0 -> 21883 bytes client/assets/img/scoreTexts/textNum9.png | Bin 0 -> 21751 bytes client/config/config.js | 55 ++++++++++++++++- client/index.html | 2 +- client/js/gameLoop.js | 16 ++--- client/js/gameLoopTools/gameScore.js | 56 ++++++++++++++++++ client/js/gameLoopTools/neutralMap.js | 2 +- client/js/load.js | 13 ++++ 17 files changed, 128 insertions(+), 16 deletions(-) create mode 100644 client/assets/img/scoreTexts/scoreTextAsset.png create mode 100644 client/assets/img/scoreTexts/textNum0.png create mode 100644 client/assets/img/scoreTexts/textNum1.png create mode 100644 client/assets/img/scoreTexts/textNum2.png create mode 100644 client/assets/img/scoreTexts/textNum3.png create mode 100644 client/assets/img/scoreTexts/textNum4.png create mode 100644 client/assets/img/scoreTexts/textNum5.png create mode 100644 client/assets/img/scoreTexts/textNum6.png create mode 100644 client/assets/img/scoreTexts/textNum7.png create mode 100644 client/assets/img/scoreTexts/textNum8.png create mode 100644 client/assets/img/scoreTexts/textNum9.png create mode 100644 client/js/gameLoopTools/gameScore.js diff --git a/client/assets/img/scoreTexts/scoreTextAsset.png b/client/assets/img/scoreTexts/scoreTextAsset.png new file mode 100644 index 0000000000000000000000000000000000000000..4bbbc415ac38a19815465c08f4559386a23884ca GIT binary patch literal 19989 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 literal 0 HcmV?d00001 diff --git a/client/assets/img/scoreTexts/textNum0.png b/client/assets/img/scoreTexts/textNum0.png new file mode 100644 index 0000000000000000000000000000000000000000..61e5c4b2b358b2e7701241ca51a08f0fe30d3037 GIT binary patch literal 21771 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 A2><{9 literal 0 HcmV?d00001 diff --git a/client/assets/img/scoreTexts/textNum1.png b/client/assets/img/scoreTexts/textNum1.png new file mode 100644 index 0000000000000000000000000000000000000000..11b0b8311220a4ea728b5fdfe2cfc43709f9158b GIT binary patch literal 21733 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 Xs2uLIXHm53tEQanrtovPzDxcGJ5EEO literal 0 HcmV?d00001 diff --git a/client/assets/img/scoreTexts/textNum3.png b/client/assets/img/scoreTexts/textNum3.png new file mode 100644 index 0000000000000000000000000000000000000000..bc68a402162a8a177ad4aa48724c7f9aa11b45ab GIT binary patch literal 21776 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 literal 0 HcmV?d00001 diff --git a/client/assets/img/scoreTexts/textNum6.png b/client/assets/img/scoreTexts/textNum6.png new file mode 100644 index 0000000000000000000000000000000000000000..cb5b86d4c4cf8b3ba77feaf55c777b896dc66377 GIT binary patch literal 21812 zcmeI42~-ow)_@x~6a?HA5hpAvB2CiSJ3zE6afWXKv57KH&9Ul5gl+wP~4E$0g+a5;+r?`|Ia%oIfvv@eebQRuc~g{DmYm+ z&DCB@W3&bU09uX?To3G12m7J-?}xpQ+I5bIeGHH~_{ji3bEx7+4M^HH3IH_R#2n7F zX@L^CL>4HK5*#@kf;3Db6bGRI5K)=pDf04c7-8A^pvA^1HhQCz#AA4Wf``qT=wb2W zO$`PNni^}cwl+UXHrh!1fgkPTA0HRagY+a}Z%-m=&TrDjgAPhxgxj^7#;Bfi$ z)wX~y2^c1HIu8SPK!D`vBXj_codgQX25Dvh{RaXh_t@nVfj$d?fD$942w>S(V3^%Y zAB#UHr4On%#Yk<ne)LXxJK7e#K>CC5;89yVVA zfVBAGSZ|x#BFePW%gX5MvbE=c&(8L1H{|hZKGu~Vl1>4DNAkrLAI*rFqoXJHiw^#{ zb6iuOz}cE<^IO*lGjyh80cj1DKFv}E8`~Z0bMD@)tF65=^}NkYs9XnpnY%wyvivVV+ypEnPSuCzGs8B?AxU>Wb;lQ{biCpFtY=-)6r@5syXH62#t zJ|uJT-R&Dla<0 z`i&{>+&}Sg${j&tT85BiXG-|=oC+L zfIL=v5xgDrUs{Isf>+M6I~_l{1RyW@up-YM+8C4JZu#55EKbgT#^_~sJ2kHf9i>h=A4D?0c+TcH(`>*7e(7<;!vhap9DQv1 z;oiBcUh&J1hxZv0V_PtQ-Y49KfQ+?v@OAcez2mT-FvgfVxN-nvK<{PlMH37+>~}gb z{`BCt=ST6#&`MtiGoxEW;)W6jEsW)yXBZDz#UW3~S>Ma?_-?Q3L$2Fh5AiT+FguV; zbr@~5;ZmhwUWPin(Tp&uWO;2$?YUY?tzNCc%b6M}yeXl(-*`SY@why9s&3t&I%-`% zbPL(qdsmXj{rx+<2GinZ*c{oB?Qzt7<^G}6`AP8Ar6U}j_8i%{>Bi{5k%6t^qfh0h z2jAZ`)-~~(&-Ky<`=^Odd$)uS)LJooX>qK`L^pYq`Y4fZ_^6{>ocHS9Sfg9)MPfkD zx72Ud*(&k&HO)5td3gL~jZITGjo+kaO7uE#aPPqf2Q|H$y-U5~4$Sskly2uu@vJ#8 z;J3|(ybq>Kd+w>{DLOED|H^}+{Sq&$-HZL&R`v5c=X}nMv)euG_?()&iv&%+Zf1m; z!91-)E9S@0&W}HS_3qCLOmnxi>F2JoJa}LS%%M!B_+)xCZxmXo*K7%WvrX0!}go`EXRl51Xd3*GBJlVPU>XoZIuin~9OSXh= zlk1b~lW!+ipA480F~cl-fA%TVF{5_IUcaX7ypZKHV81=S-ZT6&?T(}z8Fwr9NbbJD z`*K`2xE@NqB|3NP&+JRt2Ttl9tGm;$Dm^NyqfciQM;f$s=Wf(7d=i*)O%HobFLBB}bOj6&^7NEct!?5rfwHEoJd#V(sPA7C*gpO&xiHtU0%M z;DqHXm;0=+S|^S59bEw>(!wk5ab(rpcihd~2gxGH4L%A^rJ1r1n$NYUWSpj+wz_C8 z^t*D?H^tX6$Y~60ZkkRH2|82#p|N@8A(r?{BX^V)wJhH^;(+-OGuGxQ z&atk{jel4VGTlF7?YNgi!^f@Dh%C}C5*ZRJ=oPVdII~R0y1sNUb%{#&JwA^XX?%gQ z$E+@A*@Oe@^PIJu?j!FN+w6VnHN)h#sd|P8^%0)Ey6Q5#`B3VltBqGOFITN+YUprNQMY{2^Lw`&{oQ&V?BT0crw^+dnK=BHJ0|xc z>hxAhE}z|cZ{vvrhtB5+%7xd34No3`sWY`VA546bs2!qpxAKHm_4E^suU^|$5fiVP zROK$s=H%=;YjG+M-FK<%>SQag-CiwT@4VTR);Lyh6-q(A#sT*l$-_H5%rv7zHFORre zlb+ja7yoqTW6FzgP>ZhR{p+@ikBy|<$l8Y10oAQzwOEx4)-F8!Nd3l73-m?$#JM&} zFO%$&J(J$g)C^-5B60*>1?A~_(e`__PQjlY*=z*gXm@X+LTQxix!)| zy%$imGkak@zpQ$$j^xGZLGnk}ZQIw>PtKcMHtXdn`OA!|x}iR&e3Fi`<^(^JKePC_ z;f7mr?zY^d^qg7qa+;#@vla?l8}w2cW%pb1BmW%He(Po`Y}gsLj(qF4$)`~2HA{2 zCP7pp2_ixi5Q14$DvLxSe0mwOH89B{Odw==aP2--hy7-07$}!ZSwv!Zc({2u#at35 zB0?|>6G>zunG9kYpe!;(jzoYVGNVo>U4FQzj2|YJ%Egipg2FGtlgyV}8X77p`uzIT zuVCrtib72rM>`Cui_2%z z9;*uu?$J^vw_Sks;1iJ^EoEMjQk3X{$|Uo{_^9mytR+T0HC`t7K)d1ofGbSBM@Q1G zqfF23`uzC280BK&cN(I2@?A4DLi`;w#gk66jycsi)D{?Z7AFiv5X&J zsri);7i@6j zgghpRj0LaH72%wHQ;}Pk7z>3+5Kc$Y7XeloEPzlNi6;ap0wxO5sZ$Bx2Gx4{>`C|w={o~BPUq^T#8uC{QrPEc1 z*7u#rBtm&O5{6ofuo?0rYq-U8cJ-{Q;D2f4 zm`sGK2uC1FrXe7eLKT28UC0AzG%6MrsXQJc5O($N?~dFTdxUD_J_SEX$O1I%-wA(M zkVUX`77dfJg<+Cl0wR?LiTQ{kloA(&2tMV5pLZaFTtdKYlbzggKK>79sQ?WV|2q)| z*GhgDCc^(%pa0{S`eT_&=dh|)W@oO@xkrAPt#oBT-)1+8{1{8~xSg}pPO+vGTdeYA z2FpjVg9Zyny(_)^(Qx{e`4?;PlXonk?8-3zy@ao`aX9myyi5Mmw6e379^7=-)vXL9Xmb`X{X|8?rbhM8nr8VuV(bjZdQhRIwTF3HxG2HB9Q3@!y`Ds{ktt?kHU z8qJ2pp~BWAJ2Fh=+F4^QqLMfeg9Isc(DNaJgdjqmki-Xt5CnG~A`l@N0);{ziB6+K zbRMd_b3MDJ&=@d}&Y=AlTvLTq28AYo6|Q;zY^!NJA(e-a(f@*L2Fl~}U|0a6Oqkwv zU?U4a0iS`OCbO6AycZJ7{+$y}~A$Bqj@96JVw`@@b9iU6YVU^0kZeIOvcql-K; z734FiLJEUVp-_ZB4xdMY6ywDJ=_DExyRX4`F=>1gG|C+L`d=e$rS(iYg50!HpM^w z+O*r!J47sJV*}gK(65SdR*EZ6RtG&#?3y1{bnWY+ueGO%BhVmUt{A&&lPRu@AZ&$n z*nItni7{AY%5@{rEt^B;ci?$JN& z81GJ137&>hS%pg}BD{hM7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM z7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM7oLVv zS%pg}BD{hM7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM7oLVvS%pg} zBD{hM7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM z7oLVvS%pg}BD{hM7oLVvS%pg}BD{hM7oLVv`7d#4bboOV8iIXWPdN6qJnpwN8?mqS zA@ChMTmT?y8~{Ww1%S8h*k=O(%qIcBvj6~KZ2^Fhl7u-I>;Rxws3X_fE246DV!4x- z`>W^iFh*OJ-!5h;>^;cYeB-5xXpQ*<6DPyCRZ< zf7Sr*YD0>1aiQ*ww|@r9QvK6kup=ef7G=o`%SBCbvKMfDopHSP%b3?lK(B~i8<(6g zZik5n(%Um8Hq2h@Z}ws8#P_2oC)gR&8e327PB(s&%^#IzDHBQyvsxKJ zB`wQt&^4&htYf1qkL4$vxzm4SzOI(j=&3WB(~d~|Jm%bMdKWjjQTC)&95AlYAV>U; zUpe%a*0$rVKZzgpI##}*#dF3f^{2fTt5shwDt0CUH&6T#-Eh~;=Vf$5j@cgrZj|~x zG}^ny@1gmPEHkOjwLVWW3)-?DZ1;O;cuYG;=r2=0HsN{6AwPTbJ1bC)clrg>C+qII zt34}N{Xw9*YrgRIQLWP^*Pbu*cBE0>OlmltsBd@Vs9D2qo%Ya=ZT`-48#c96y*v7*VQ*8=xtcA% zg1w22i_X3{SW*lIjDNV*B;$eBaB6jo?ZWcNMcdWXiaAC^wM`{!#?H#hUdoE7IJMcwbuX{fE6aC1tsYj?LLakd>$w5a(ua9EXBmqsc}%rA#0&nH`p)z` zTGznz(=0@jqts4qCcSE!Mv9pCE)4ixU3>ZJQ@avO6S6;$D^e5u*S?+B2n+jVCaiW{ zn7BLi`NE+~+#F|6cEOH1hi|23WGC%*a(wj~Og=;W$@soBSQaB$n^~}ElH9aF7I07d ha&~Ry+bM4ufZ^~l{hryAmMOk`%F))9n{E@Z(S literal 0 HcmV?d00001 diff --git a/client/assets/img/scoreTexts/textNum7.png b/client/assets/img/scoreTexts/textNum7.png new file mode 100644 index 0000000000000000000000000000000000000000..d6e973672442ad024d91f746570579c31045dd9f GIT binary patch literal 21687 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 O$;DwJKhu8pl79hb@DM8i literal 0 HcmV?d00001 diff --git a/client/assets/img/scoreTexts/textNum8.png b/client/assets/img/scoreTexts/textNum8.png new file mode 100644 index 0000000000000000000000000000000000000000..77ee5d46d8d2e7b6aa31f5b833c2973fa5e445dc GIT binary patch literal 21883 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 Ku(GTdMEwg>7;feO literal 0 HcmV?d00001 diff --git a/client/assets/img/scoreTexts/textNum9.png b/client/assets/img/scoreTexts/textNum9.png new file mode 100644 index 0000000000000000000000000000000000000000..a68d0df080815c8c5c6106750b0e061bb21c5118 GIT binary patch literal 21751 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�k0A(*kU=VnQXw*xi9!N=d-!_`=$k!4J#t@ypCm9Cll?p44-c{k zp3Y*jAhu8@2_PU+slOOS6rq$D94Ppb4}RT&2yzLb(>B@0y_1js#aSxAWa57(!gOjS z+K!3v|E$k{JEs0xrlMY%U$X>7WNzIfzs*+KGa%*cMv))mX&$d_cG@V`lwynhc`}3N zBltms)oCYdPcMHpoPKBi&07589Zx9RGt7T4;cIJLC-bhnOa5+J*;Y#zZaQjfC*KKh zr{u-_Yoube=eAaOuC7QygE|#cjH+T(IEd(5X}bc?h!|uWh|IL1SX=X$G^Pz~#e*Tb zwKbQ{!!{5d;#k8lnaAOgtgUGfhfHPgC@}M<4!E$D4Vg@% zaY$S$Y(=uc4;DNdE4)Qi5*K2Spr1PE`Vc`v5FuYkLO~$}!EJ{KL`cTZ6hc0UPNPF~ zKKAp@b?ur$W59emgZ5u=O%+lZ6q*25xaR+}t)}sXR6at+{tK=d7$4=sumHrEFunc2 zMizhql!0Iv1mm6gPlu5SLjstIwhp7A5R#}QJWodWbo7^ z6JK#K6@x$;oeF^n1HTqv!ek~L74UHaKj+!rG8n`A1LOT-Py_<}3WJJ*up)WKs0b>= z4_$cX4*zn?teI964osy|xz;>uCIsQ%c|0qw4G)62HViKBmmMJ#0Yu}&WRQV_1L>_@ z`IZ6Z=8$Y~uSa*m!ZFL=L{C_2!+x}I89pq}uA=u;l5CqfdAlVF$ zA6=H~hDcEEIk6nayCA&tquK7+{sFD<;iNL=Z0VNV~VbQFZ#Z;vp5v<_u`51tF|D;l@Wxm zkXD=T6w!N{vgIi3*7tmkKz_Dm5-;CMqOqTq@uwtJJuZnW&JcajAf# ztWx7rW}-r(#-##|vPz9hnTZOC8kY(<$|^N3WhN>lYFsMdD67=Cl$ofIsBx))qpVWn zQf8t;qQ<2Hjw!N{vgIi3*7tmkKz_Dm5-;CMqOqTq@uwtJJuZnW&Jc#HHKu;2taxe_Brn{#c%o zTej!nkMtp+cCL;95Izn7B9;Td#}@pv1^^b40N{lW0I;?Iz!1sCc^7N|pc~bmXXPGx ze@{ZbpPtpw=7CiIM`!R1jk6pphgk#k^~&`$-ekS$*ZhYk11C-W_vs^voF+6iKCL@W{jH?C%196ExWYV^8MLHqx_KZ zRNW8NMcI#+d#-)6d{4H>vwp1wv2e}CsEy52PdPtXqhDQt?wqOhqQK#ihkf_wOBS%T zW^2eESy?wUH$1`~F|)Mt(j$UKFD`v|C^BuaL4!|Y(GY!~Zl(=Bi{gbn76Z(hc(p!==(J{USeum;K!_2?U2=$Jdl zXF^f=3{1#*9Q*!={(9%=d+|jX+fKow!i7mGNzkPF%CyzjvvQn6bv{$i9Nn^Un{2LL zZ%N|P;3wtI#ubUYsDU>}uZ}!{_R{oW(ND}dsjpdH@gT;&WMA%b=aU8_s$-wlRt_C^ zAZJZfLF2)yM2C6(&9%2liR?w}!`|_wwZS#@jeEpX58dGo3`;qrSz-igypXeu;yzn_ ZWB^sSz@%U=)7A$_*;`NNWpaF${SU4PFBJd) literal 0 HcmV?d00001 diff --git a/client/config/config.js b/client/config/config.js index ade3138..47ae46c 100644 --- a/client/config/config.js +++ b/client/config/config.js @@ -177,10 +177,59 @@ config.default.score = { }, interface: {}, amount: 0, - bonus1: 1, + bonus: 1, text: "SCORE:", - x: 0, - y: 5 + // x: config.default.settings.tileWidth - 10, + x: 10, + y: 5, + numOffsetX: 10, + spriteMap:{}, + sprites:{ + scoreText:{ + src: "assets/img/scoreTexts/scoreTextAsset.png", + key: "scoreText" + }, + textNum0:{ + src: "assets/img/scoreTexts/textNum0.png", + key: "textNum0" + }, + textNum1:{ + src: "assets/img/scoreTexts/textNum1.png", + key: "textNum1" + }, + textNum2:{ + src: "assets/img/scoreTexts/textNum2.png", + key: "textNum2" + }, + textNum3:{ + src: "assets/img/scoreTexts/textNum3.png", + key: "textNum3" + }, + textNum4:{ + src: "assets/img/scoreTexts/textNum4.png", + key: "textNum4" + }, + textNum5:{ + src: "assets/img/scoreTexts/textNum5.png", + key: "textNum5" + }, + textNum6:{ + src: "assets/img/scoreTexts/textNum6.png", + key: "textNum6" + }, + textNum7:{ + src: "assets/img/scoreTexts/textNum7.png", + key: "textNum7" + }, + textNum8:{ + src: "assets/img/scoreTexts/textNum8.png", + key: "textNum8" + }, + textNum9:{ + src: "assets/img/scoreTexts/textNum9.png", + key: "textNum9" + }, + } }; config.default.debug = { diff --git a/client/index.html b/client/index.html index d17dbf4..7a47c6a 100644 --- a/client/index.html +++ b/client/index.html @@ -16,10 +16,10 @@ + - diff --git a/client/js/gameLoop.js b/client/js/gameLoop.js index 8279bdb..9e07b20 100644 --- a/client/js/gameLoop.js +++ b/client/js/gameLoop.js @@ -5,7 +5,7 @@ gameLoop = { init: (data) => { data = typeof data === "undefined" ? {} : data; gameLoop.player = data.player || config.default.player; - gameLoop.score = data.score || config.default.score; + //gameLoop.score = data.score || config.default.score; gameLoop.width = data.width || config.init.screenWidth; gameLoop.height = data.height || config.init.screenHeight; gameLoop.xStartRegion = data.xStartRegion || config.gameLoop.xStartRegion; @@ -37,13 +37,9 @@ gameLoop = { playerUtilities.create(gameLoop.player); //setup score UI - let gameScoreData = [ - gameLoop.score.x, - gameLoop.score.y, - gameLoop.score.text, - gameLoop.score.style - ]; - gameLoop.score.interface = game.add.text(...gameScoreData); + gameScore.init(); + gameScore.create(); + if (gameLoop.debugMode === true) { gameLoop.debug.controls = game.input.keyboard; }; @@ -55,10 +51,8 @@ gameLoop = { neutralMap.updateMap(); // update neutral map states[] playerUtilities.update(gameLoop.player); - //gameLoop.score.amount += gameLoop.score.bonus1; - // update score and text - gameLoop.score.interface.setText(gameLoop.score.text + gameLoop.score.amount); + gameScore.setText(gameScore.amount + gameScore.bonus); if(gameLoop.debugMode){ let upScrollCheat = gameLoop.debug.controls.isDown(Phaser.KeyCode.OPEN_BRACKET); diff --git a/client/js/gameLoopTools/gameScore.js b/client/js/gameLoopTools/gameScore.js new file mode 100644 index 0000000..f9957b0 --- /dev/null +++ b/client/js/gameLoopTools/gameScore.js @@ -0,0 +1,56 @@ + +let gameScore = {}; + +gameScore = { + init: (data) => { + data = typeof data === "undefined" ? { gameScore: {} } : data; + gameScore.amount = data.amount || config.default.score.amount; + gameScore.bonus = data.bonus || config.default.score.bonus; + gameScore.text = data.text || config.default.score.text; + gameScore.x = data.x || config.default.score.x; + gameScore.y = data.y || config.default.score.y; + gameScore.numOffsetX = data.numOffsetX || config.default.score.numOffsetX; + + // images + gameScore.scoreSprite; // sprite image placeholder + gameScore.scoreTextKey = data.textImgLabel || config.default.score.sprites.scoreText.key; + gameScore.spriteMap = data.spriteMap || config.default.score.spriteMap; + + return gameScore; + }, + + setSpriteMap: () => { + + }, + + updateScoreNumbers: () => { + // kill all the children (that sounds... wrong) + while (gameScore.scoreSprite.children > 0) + gameScore.scoreSprite.removeChild(0); + + // create children based on score amount + let amountStr = gameScore.amount.toString(); + let offSet = gameScore.numOffsetX; + + //gameScore.scoreSprite.addChild(0); + return gameScore.scoreSprite; + }, + + setText: (newScore) => { + if (newScore != null){ + gameScore.amount++; + } + else{ + gameScore.amount = newScore; + } + gameScore.updateScoreNumbers(); + return gameScore.amount; + }, + + create: () => { + // Score text + gameScore.scoreSprite = game.add.sprite(gameScore.x, gameScore.y, gameScore.scoreTextKey); + gameScore.setSpriteMap(); + return gameScore; + }, +}; diff --git a/client/js/gameLoopTools/neutralMap.js b/client/js/gameLoopTools/neutralMap.js index 54e9a19..974b64f 100644 --- a/client/js/gameLoopTools/neutralMap.js +++ b/client/js/gameLoopTools/neutralMap.js @@ -24,7 +24,7 @@ neutralMap.getMapSpeed = () => { neutralMap.setMapSpeed = (deltaSpeed) => { neutralMap.velocity += deltaSpeed; - if (DEBUG){ + if(config.default.debug.isOn === true){ console.log("Map Speed Changed! Current speed: " + neutralMap.velocity) } } diff --git a/client/js/load.js b/client/js/load.js index b9d2ca0..599f115 100644 --- a/client/js/load.js +++ b/client/js/load.js @@ -143,6 +143,19 @@ loadState = { // Game over loads game.load.image(config.gameOverState.restartButton.key, config.gameOverState.restartButton.src); + + // score texts + game.load.image(config.default.score.sprites.scoreText.key, config.default.score.sprites.scoreText.src); + game.load.image(config.default.score.sprites.textNum0.key, config.default.score.sprites.textNum0.src); + game.load.image(config.default.score.sprites.textNum1.key, config.default.score.sprites.textNum1.src); + game.load.image(config.default.score.sprites.textNum2.key, config.default.score.sprites.textNum2.src); + game.load.image(config.default.score.sprites.textNum3.key, config.default.score.sprites.textNum3.src); + game.load.image(config.default.score.sprites.textNum4.key, config.default.score.sprites.textNum4.src); + game.load.image(config.default.score.sprites.textNum5.key, config.default.score.sprites.textNum5.src); + game.load.image(config.default.score.sprites.textNum6.key, config.default.score.sprites.textNum6.src); + game.load.image(config.default.score.sprites.textNum7.key, config.default.score.sprites.textNum7.src); + game.load.image(config.default.score.sprites.textNum8.key, config.default.score.sprites.textNum8.src); + game.load.image(config.default.score.sprites.textNum9.key, config.default.score.sprites.textNum9.src); }, /** From eb9d41ff2aba5d34f1bcc9c4a9889524a275f77d Mon Sep 17 00:00:00 2001 From: Hong Luu Date: Wed, 28 Nov 2018 23:47:42 -0800 Subject: [PATCH 2/7] Ticket-82 Added sprite map to config --- client/config/config.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/client/config/config.js b/client/config/config.js index 47ae46c..e41828a 100644 --- a/client/config/config.js +++ b/client/config/config.js @@ -183,7 +183,18 @@ config.default.score = { x: 10, y: 5, numOffsetX: 10, - spriteMap:{}, + spriteMap:{ + "0": "textNum0", + "1": "textNum1", + "2": "textNum2", + "3": "textNum3", + "4": "textNum4", + "5": "textNum5", + "6": "textNum6", + "7": "textNum7", + "8": "textNum8", + "9": "textNum9" + }, sprites:{ scoreText:{ src: "assets/img/scoreTexts/scoreTextAsset.png", From 90976ef9efc0d80a12049d54ef6c0d614c4925c3 Mon Sep 17 00:00:00 2001 From: Hong Luu Date: Thu, 29 Nov 2018 00:22:54 -0800 Subject: [PATCH 3/7] Ticket-82 Implemented Score to use image assets instead of texts to display value --- client/config/config.js | 4 ++-- client/js/gameLoop.js | 3 +-- client/js/gameLoopTools/gameScore.js | 18 +++++++++--------- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/client/config/config.js b/client/config/config.js index e41828a..cd7a681 100644 --- a/client/config/config.js +++ b/client/config/config.js @@ -180,9 +180,9 @@ config.default.score = { bonus: 1, text: "SCORE:", // x: config.default.settings.tileWidth - 10, - x: 10, + x: config.init.screenWidth - 200, y: 5, - numOffsetX: 10, + numOffsetX: 17, spriteMap:{ "0": "textNum0", "1": "textNum1", diff --git a/client/js/gameLoop.js b/client/js/gameLoop.js index 9e07b20..bb703dd 100644 --- a/client/js/gameLoop.js +++ b/client/js/gameLoop.js @@ -5,7 +5,6 @@ gameLoop = { init: (data) => { data = typeof data === "undefined" ? {} : data; gameLoop.player = data.player || config.default.player; - //gameLoop.score = data.score || config.default.score; gameLoop.width = data.width || config.init.screenWidth; gameLoop.height = data.height || config.init.screenHeight; gameLoop.xStartRegion = data.xStartRegion || config.gameLoop.xStartRegion; @@ -51,7 +50,7 @@ gameLoop = { neutralMap.updateMap(); // update neutral map states[] playerUtilities.update(gameLoop.player); - // update score and text + // update score gameScore.setText(gameScore.amount + gameScore.bonus); if(gameLoop.debugMode){ diff --git a/client/js/gameLoopTools/gameScore.js b/client/js/gameLoopTools/gameScore.js index f9957b0..47d45fc 100644 --- a/client/js/gameLoopTools/gameScore.js +++ b/client/js/gameLoopTools/gameScore.js @@ -19,20 +19,21 @@ gameScore = { return gameScore; }, - setSpriteMap: () => { - - }, - updateScoreNumbers: () => { // kill all the children (that sounds... wrong) - while (gameScore.scoreSprite.children > 0) - gameScore.scoreSprite.removeChild(0); + if (gameScore.scoreSprite.children.length > 0){ + gameScore.scoreSprite.removeChildren(); + } // create children based on score amount let amountStr = gameScore.amount.toString(); - let offSet = gameScore.numOffsetX; + let offSetX = gameScore.numOffsetX; + let length = amountStr.length; - //gameScore.scoreSprite.addChild(0); + for(var i = 0; i < length; i++){ + gameScore.scoreSprite.addChild(game.make.sprite(offSetX+gameScore.scoreSprite.width, gameScore.y, gameScore.spriteMap[amountStr[i]])); + offSetX += gameScore.numOffsetX; + } return gameScore.scoreSprite; }, @@ -50,7 +51,6 @@ gameScore = { create: () => { // Score text gameScore.scoreSprite = game.add.sprite(gameScore.x, gameScore.y, gameScore.scoreTextKey); - gameScore.setSpriteMap(); return gameScore; }, }; From 34fd5cc7fa8a2ae85b9c6d5c0ae0742a3fee696b Mon Sep 17 00:00:00 2001 From: Hong Luu Date: Thu, 29 Nov 2018 00:39:43 -0800 Subject: [PATCH 4/7] Ticket-82 Merged with master, tweaked location of score, and adjusted config spriteMap --- client/config/config.js | 39 +++++++++++++--------------- client/js/gameLoopTools/gameScore.js | 4 +-- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/client/config/config.js b/client/config/config.js index 1723991..22e522d 100644 --- a/client/config/config.js +++ b/client/config/config.js @@ -182,30 +182,13 @@ config.default.blocks = { } config.default.score = { - style : { - font: "bold 30px Courier", - color: "#fff", - }, interface: {}, amount: 0, bonus: 1, text: "SCORE:", - // x: config.default.settings.tileWidth - 10, - x: config.init.screenWidth - 200, + x: config.default.settings.tileWidth, y: 5, - numOffsetX: 17, - spriteMap:{ - "0": "textNum0", - "1": "textNum1", - "2": "textNum2", - "3": "textNum3", - "4": "textNum4", - "5": "textNum5", - "6": "textNum6", - "7": "textNum7", - "8": "textNum8", - "9": "textNum9" - }, + numOffsetX: 17, // score value, number of spaces sprites:{ scoreText:{ src: "assets/img/scoreTexts/scoreTextAsset.png", @@ -250,8 +233,21 @@ config.default.score = { textNum9:{ src: "assets/img/scoreTexts/textNum9.png", key: "textNum9" - }, - } + } + }, +}; + +config.default.score.spriteMap = { + "0": config.default.score.sprites.textNum0.key, + "1": config.default.score.sprites.textNum1.key, + "2": config.default.score.sprites.textNum2.key, + "3": config.default.score.sprites.textNum3.key, + "4": config.default.score.sprites.textNum4.key, + "5": config.default.score.sprites.textNum5.key, + "6": config.default.score.sprites.textNum6.key, + "7": config.default.score.sprites.textNum7.key, + "8": config.default.score.sprites.textNum8.key, + "9": config.default.score.sprites.textNum9.key }; config.default.debug = { @@ -317,3 +313,4 @@ config.default.colors = { config.default.gameInformation = { title: "PathLight" }; + diff --git a/client/js/gameLoopTools/gameScore.js b/client/js/gameLoopTools/gameScore.js index 47d45fc..eeed6e2 100644 --- a/client/js/gameLoopTools/gameScore.js +++ b/client/js/gameLoopTools/gameScore.js @@ -16,7 +16,7 @@ gameScore = { gameScore.scoreTextKey = data.textImgLabel || config.default.score.sprites.scoreText.key; gameScore.spriteMap = data.spriteMap || config.default.score.spriteMap; - return gameScore; + return true; }, updateScoreNumbers: () => { @@ -51,6 +51,6 @@ gameScore = { create: () => { // Score text gameScore.scoreSprite = game.add.sprite(gameScore.x, gameScore.y, gameScore.scoreTextKey); - return gameScore; + return true; }, }; From 3e42c7a626b63edcacabeebb4e0caea45ff80899 Mon Sep 17 00:00:00 2001 From: Eric Date: Sat, 1 Dec 2018 02:38:44 -0800 Subject: [PATCH 5/7] renamed a function + comment to be more clear --- client/js/gameLoopTools/mapController.js | 2 ++ client/js/gameLoopTools/neutralMap.js | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/client/js/gameLoopTools/mapController.js b/client/js/gameLoopTools/mapController.js index 5cb96c0..8720f98 100644 --- a/client/js/gameLoopTools/mapController.js +++ b/client/js/gameLoopTools/mapController.js @@ -69,6 +69,8 @@ mapController.update = () => { if (object.fullyOnMap === false) { if (mapController.top <= objectTop) { if (typeof (object.onFullyOnMap) === "function") { + // Since the top of the object might be past y=0 when this is detected, the position of the object top is passed + // as an argument to use for spawning the next object at the correct position object.onFullyOnMap(transformUtilities.getTopPosition(object.y, object.height, object.anchor.y)); } object.fullyOnMap = true; diff --git a/client/js/gameLoopTools/neutralMap.js b/client/js/gameLoopTools/neutralMap.js index 10bc096..b13b979 100644 --- a/client/js/gameLoopTools/neutralMap.js +++ b/client/js/gameLoopTools/neutralMap.js @@ -26,7 +26,7 @@ neutralMap.createMaps = () => { transformUtilities.getScaleValueToEnvelopeRect(latestMapSprite.width, latestMapSprite.height, neutralMap.width, neutralMap.height); latestMapSprite.y = nextMapSpriteBottom - latestMapSprite.height * (1 - latestMapSprite.anchor.y); - latestMapSprite.onFullyOnMap = neutralMap.generateNewMap; + latestMapSprite.onFullyOnMap = neutralMap.generateNewMapSprite; nextMapSpriteBottom = transformUtilities.getTopPosition(latestMapSprite.y, latestMapSprite.height, latestMapSprite.anchor.y); // next map sprite bottom is latest map sprite top @@ -34,7 +34,7 @@ neutralMap.createMaps = () => { } while (nextMapSpriteBottom >= 0); }; -neutralMap.generateNewMap = (topPosition) => { +neutralMap.generateNewMapSprite = (topPosition) => { let mapSpriteData = [ neutralMap.width * neutralMap.mapData.xRegion, 0, // this will be changed @@ -46,7 +46,7 @@ neutralMap.generateNewMap = (topPosition) => { transformUtilities.getScaleValueToEnvelopeRect(mapSprite.width, mapSprite.height, neutralMap.width, neutralMap.height); mapSprite.y = topPosition - mapSprite.height * (1 - mapSprite.anchor.y); - mapSprite.onFullyOnMap = neutralMap.generateNewMap; + mapSprite.onFullyOnMap = neutralMap.generateNewMapSprite; mapController.addToMap(mapSprite); }; From 7758860c4265a2bbf1d9f20d5b1b5dab3d66d185 Mon Sep 17 00:00:00 2001 From: Hong Luu Date: Sat, 1 Dec 2018 03:34:01 -0800 Subject: [PATCH 6/7] Issue #82 Removed unncessary loadScreen.js, HOOOOONNNNGGGG!!! --- client/index.html | 1 - 1 file changed, 1 deletion(-) diff --git a/client/index.html b/client/index.html index 506ba19..d5a7f8d 100644 --- a/client/index.html +++ b/client/index.html @@ -22,7 +22,6 @@ - From 51c739643fcf965d8c0e5bdb9b07454c0a2084f5 Mon Sep 17 00:00:00 2001 From: Eric Date: Sat, 1 Dec 2018 03:44:15 -0800 Subject: [PATCH 7/7] neutralMap now reuses map sprites instead of destroying and creating mapController's auto-destroy functionality can be overridden with a callback skipping fake loading screen --- client/js/gameLoopTools/mapController.js | 19 ++++++++++------ client/js/gameLoopTools/neutralMap.js | 28 +++++++++--------------- client/js/load.js | 3 +++ 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/client/js/gameLoopTools/mapController.js b/client/js/gameLoopTools/mapController.js index 8720f98..ba06469 100644 --- a/client/js/gameLoopTools/mapController.js +++ b/client/js/gameLoopTools/mapController.js @@ -72,18 +72,23 @@ mapController.update = () => { // Since the top of the object might be past y=0 when this is detected, the position of the object top is passed // as an argument to use for spawning the next object at the correct position object.onFullyOnMap(transformUtilities.getTopPosition(object.y, object.height, object.anchor.y)); - } + } object.fullyOnMap = true; } } + else { + if (mapController.top > objectTop) + object.fullyOnMap = false; + } if (mapController.bottom <= objectTop) { - if (typeof (object.onFullyLeftMap) === "function") - object.onFullyLeftMap(); - //if (typeof (object.destroy) === "function") // this should be used if there's some custom destruction method attached to .onFullyLeftMap - // object.destroy(); - object.destroy(); - mapController.mapObjects.splice(i, 1); + if (typeof (object.onFullyLeftMap) === "function") { + object.onFullyLeftMap(); // This delegate acts as an override to the default auto-destroy behavior + } + else { + object.destroy(); + mapController.mapObjects.splice(i, 1); + } } } }; diff --git a/client/js/gameLoopTools/neutralMap.js b/client/js/gameLoopTools/neutralMap.js index b13b979..14ccbfb 100644 --- a/client/js/gameLoopTools/neutralMap.js +++ b/client/js/gameLoopTools/neutralMap.js @@ -1,5 +1,7 @@ const neutralMap = {}; +neutralMap.mapSprites = []; + neutralMap.init = (data) => { data = typeof data === "undefined" ? {} : data; neutralMap.mapData = data.neutralMap || config.neutralMap; @@ -7,11 +9,9 @@ neutralMap.init = (data) => { neutralMap.height = data.height || config.init.screenHeight; neutralMap.graphicCenter = [0.5, 0.5]; - }; neutralMap.createMaps = () => { - let nextMapSpriteBottom = neutralMap.height; let latestMapSprite; do { @@ -26,29 +26,21 @@ neutralMap.createMaps = () => { transformUtilities.getScaleValueToEnvelopeRect(latestMapSprite.width, latestMapSprite.height, neutralMap.width, neutralMap.height); latestMapSprite.y = nextMapSpriteBottom - latestMapSprite.height * (1 - latestMapSprite.anchor.y); - latestMapSprite.onFullyOnMap = neutralMap.generateNewMapSprite; + latestMapSprite.onFullyOnMap = neutralMap.reorderBottomSpriteToTop; + latestMapSprite.onFullyLeftMap = () => { }; // this acts as an override to the default auto-destroy functionality nextMapSpriteBottom = transformUtilities.getTopPosition(latestMapSprite.y, latestMapSprite.height, latestMapSprite.anchor.y); // next map sprite bottom is latest map sprite top + neutralMap.mapSprites.push(latestMapSprite); mapController.addToMap(latestMapSprite); } while (nextMapSpriteBottom >= 0); }; -neutralMap.generateNewMapSprite = (topPosition) => { - let mapSpriteData = [ - neutralMap.width * neutralMap.mapData.xRegion, - 0, // this will be changed - neutralMap.mapData.imgKey - ]; - let mapSprite = game.add.sprite(...mapSpriteData); - mapSprite.anchor.setTo(...neutralMap.graphicCenter); - mapSprite.scale.x = mapSprite.scale.y = - transformUtilities.getScaleValueToEnvelopeRect(mapSprite.width, mapSprite.height, neutralMap.width, neutralMap.height); - mapSprite.y = topPosition - mapSprite.height * (1 - mapSprite.anchor.y); - - mapSprite.onFullyOnMap = neutralMap.generateNewMapSprite; - - mapController.addToMap(mapSprite); +// This reorder function does visually break if an integer number of sprites do not take up the entire screen height, in which case the do-while loop above just needs to run 1 more time +neutralMap.reorderBottomSpriteToTop = (topPosition) => { + let bottomSprite = neutralMap.mapSprites.shift(); + bottomSprite.y = topPosition - bottomSprite.height * (1 - bottomSprite.anchor.y); + neutralMap.mapSprites.push(bottomSprite); }; // setup neutral map diff --git a/client/js/load.js b/client/js/load.js index b4d7be4..59c8e83 100644 --- a/client/js/load.js +++ b/client/js/load.js @@ -154,6 +154,9 @@ loadState = { create: () => { // setup screen image game.stage.backgroundColor = loadState.background; + + loadState.changeState(); // skip all this fake loading screen stuff lol + //loadState.getMapSpeed(); loadState.createScreenImg();