From 1cb4caccabea13a07a45cc7ce92f0245dd299642 Mon Sep 17 00:00:00 2001 From: Mark Date: Wed, 22 Jan 2025 22:41:02 -0500 Subject: [PATCH] chore(sounds): play hit and explode --- public/sounds/explode.mp3 | Bin 0 -> 3570 bytes public/sounds/hit.mp3 | Bin 0 -> 2107 bytes src/constants/sounds.ts | 2 ++ src/gameobjects/bullet.ts | 3 ++- src/gameobjects/enemy.ts | 3 ++- src/scenes/preload.ts | 6 +++++- 6 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 public/sounds/explode.mp3 create mode 100644 public/sounds/hit.mp3 diff --git a/public/sounds/explode.mp3 b/public/sounds/explode.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e0d8d6ac46237f26d4303edafcc82b8b4e27af16 GIT binary patch literal 3570 zcmc(iYdBPE8^@nHFcTx=FpLQ~%s8~A$(h8+p@<1lN;D|RwnMQUVq0d!Xq*~{3Kb%R z5O#?er<`IV6}8)uB&3Mlrm)^I^L| zwgQfP$4@|*fOr9!-zgMOE1*rl(09fK%nN`8Y-Hva>BBE_r|!n!zmSo^-$Stu(-z7# zK@5L$YzF}AcKl4O7lbI-Tvbd=Log6=R#toOGB)m@#o~ehng##@&1UB`6sSa5p-`Cl zAUqlYXj>y=F)_xhWi#=F$v;}e*QDZ~*Vko@^!6X}YIowbfP9N)h+ zCT$M*byV_Qhpy`h<4JuDi|T@2GNsqMTIoJtPe2dk@>Y_q6jBwSAT zrQi5qit-Y?dy9u{=loj_-?g>om@@cV9jAQm+*;r#LS>6BB%-!|rzW*`;Hkna{LQ%? z1Bt#5W<@OmM4aTO`7gNT3r{&*gI(OBKE3%X9_8G955r3bu0HZTq5FJVwWh(WYKo&b zduUmrBkp%*3vHh?!j`_hwZOa3F0CE>#H$GA)Wp!GwUfL=`XuJJSn(6aJL!q|v z9;^XCD~e6hd|O$M+DjhN)qV1>JuFDybUU|bU!6x%=|ZUP;K9t1P+A-fjJ+3?*$^ZI zL~9db)QD$o&twJ8FC{aqZ{sfR@7Z(zK;I@-%jl(0JKa_%mA)afVaeqS2Q7n9*Q1Bz zn&^cR!R_~lq`kDh_!P&_z3Hzt?S~ec0?F5-Z=`xGWUPhWd-*>)quzhHT+`Hz$zdJGuP&5P$Ah>Hdqaz!F zgaOCiCpw|31L1!0Q{Ivs4}-6M`i81P$9qbqTqnhk6r0N_eojA)+M$m-GS(Ef2Ayc1Y`N5! zJ9HU=4MCzn zv~chF5dMoa3`_Uc7{P3u!qXsmALlBP0 zi6kyTh+idkh7lP6@5}!1k|opCng@#4UN$~Q zCYeo8_FU9>L$56*kb-u&MTj`bV%zOWiRENxOV+=MRqyZJDjFCoe`^!fee z&sn_+DKrt*i}5`PaZLX^hdN0HdmY*Cl$M!}9&}x#eVEfxyh#P_;?3=<-KyB|_D_@U zJEP3xErMwF2w@(wkoCw#oNF0B%$(CGlFKYJJV|OQoq4Jd13%;WsS5cd{CI|-^O5x| zfCv<;RHvqa%Xa;~e>CnEYtQwk?>}|YxjJu3K4_sJZ5NgOVJP&Vm`!*19p+!=opo0A zZaS4#p+9hC?2SLQ=|yyqV7;27gD--Yv}T4mhb3Q5;ZP7r6G)fS9!{`v3(f z(age;odtEVkHyKxvF46QgKXlL^8!ogB0^4lF_|v zBY&-<6~!K-@#8a^Rz^AoT&W~st5(VrrfzRm{O)}RJpa71CscH@PX3`!YY^A@fC7+A=eVF>Op za6niL;CTd~IaO8+&!JIB22JD$4BzAz8wjt7XaUq>)z4B=JP1Y9(6z*-DNG>4@r&p` zMHi7;m_^`%8pGpaX+mg-Ab2Ur0PL|XB-eR>JY5-RxRZ*E5>JQYH(k|H2`{<#yOj<}W~bK&ZPyW|y~)oETcjZ-LP^O`dSe#TpsQ)CD4HbJ|GBB(2RUKtm%tj8Ov+ zz|^hr!I^Hz5cve^$`fu0?;x1XOOFJD5eRudc~IZlZ`}e>6>b<_)c!@rCM9*%IGCwq z1bGcf+)O5zrNixbd5H{JWxS3O+Hya~F#RJ#DQr0gEl;_=dOzx&_zXO_#BVXYMvH)( z))wN4jKu0T`<)hh+lSmAvq={mo~~&l>r$ez*ehrAN1WY;By{zim}Imlg@}vbYOH1ugFhZrWDQ0(_hIUz{=9!o4_<9LjzNKM@RVkpIqcAFgpwZi zs8Fs_OLkb*j-MHZwss%irEn=hhecg?;O(aX`mo7*1X-bY08z+Sqx3`2zgyD(m;FCz*eHbn literal 0 HcmV?d00001 diff --git a/public/sounds/hit.mp3 b/public/sounds/hit.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..dc40cf231863bc972c1ec49e7eb2ed08a6517f5d GIT binary patch literal 2107 zcmds%c~DbF9LG0@@W=!bjtB@yfQaz`UnHa)LLL$nXrNpwR+OMY2?K(P3YC$BKvfh7 zhey>S2vo2Y6|@pO2y!}DVT4+$SPmUPYDF#OhV6^Clm6xO4`({l&&=-r_U&)KyWib6 z>mzU=12r}w!NFd5O9Ox;jM%r`(aHW3o;?Re-;KVn;54TCNB4c`vvYeK9^vzV4giQA zKsESk5NkN7;gp6-4fiz+Xn-2jE90BohHsMNpziz)izs~`B6^P;K6iWC0cWwUFpvfI_*^aisNo!{PR0s@hxNWT)VkZ22x`{k^cjP+^lXZgeb54n z3O9*lZARl`&OYsps+RJexy$e&FfNW!0DG`kCYN5Fzx(-3I33i0NGV`h`0XO8PEl^Z z?;QoGcEt|J zK#)I7lvGhCB%VgSi|Vx$jC!IsZ4X&YsUmWBe`0O3kO z6mnQN0$~@!-OT^KL#p?e=x`l^(p8OUxGWZ30&GwMV4=n;Z*3651Y{KjEL>uAiPl>5 zcrzvAvp;^09G&Fm$Kc1*@$Ub7;m%jRLV3~)u5R0m98d)dl;_D!_Q!_^%jFZa(#q%+ zF}Z3(`trtWd^+tnpgJq>tDCt(=R-Jm?wy3sB1!0L=*BT zXF-2Bo-vA-mk^fnpLufemEJhzd!knEEp$a6$E4HWD+DpQsn)5*1uw%{*qOZMuvAn@ zIG^ycDau#O#3I@eLqAF9Rl7sJwwxjPQ9Kb&rQj8uUFsfwuM$1lG|mZM{S_KncLTM@ zrceRMLXE+0R0}w3g9;bmtswgJSzMbPa}(8gEKW2{Q5*6iHO!b&X(Iqs%!`oCo?_y9 z(|8$%uxA#tD0|e+v&>fYir93b->+$*SC??pZfuHmF?VJ@SjC_DohMmsc)gvpFip4H zJzW$dNVNf5{U&RoMZ5^CjZU^zb!JXR-FcxJ zUiXUW0^$*@eOkjYL(9HW-aIMc7`&o{Sr_7#g`U&obDIY^jJj`1bSi7!~lEjw#N zy}p}M{H9QMtH{GtOHOEsRfIBSU`z@J$lK literal 0 HcmV?d00001 diff --git a/src/constants/sounds.ts b/src/constants/sounds.ts index b657898..b35453b 100644 --- a/src/constants/sounds.ts +++ b/src/constants/sounds.ts @@ -1,3 +1,5 @@ export enum Sound { + Explode = 'Explode', + Hit = 'Hit', Shoot = 'Shoot', } diff --git a/src/gameobjects/bullet.ts b/src/gameobjects/bullet.ts index b388666..4c35c91 100644 --- a/src/gameobjects/bullet.ts +++ b/src/gameobjects/bullet.ts @@ -1,4 +1,4 @@ -import { Tag } from '../constants' +import { Sound, Tag } from '../constants' import type { Enemy, Player } from '../types' const BULLET_SPEED = 200 @@ -17,6 +17,7 @@ export function addBullet(player: Player) { ]) bullet.onCollide(Tag.Enemy, (enemy) => { + play(Sound.Hit) bullet.destroy() const currentEnemy = enemy as Enemy currentEnemy.hurt(BULLET_DAMAGE) diff --git a/src/gameobjects/enemy.ts b/src/gameobjects/enemy.ts index 1127f93..1c72df1 100644 --- a/src/gameobjects/enemy.ts +++ b/src/gameobjects/enemy.ts @@ -1,4 +1,4 @@ -import { Sprite, Tag } from '../constants' +import { Sound, Sprite, Tag } from '../constants' import type { Player } from '../types' enum Health { @@ -60,6 +60,7 @@ export function addEnemy(x: number, y: number, player: Player) { }) enemy.onDeath(() => { + play(Sound.Explode, { volume: 0.2 }) enemy.destroy() addKaboom(enemy.pos) }) diff --git a/src/scenes/preload.ts b/src/scenes/preload.ts index e008cb9..8c82e1f 100644 --- a/src/scenes/preload.ts +++ b/src/scenes/preload.ts @@ -14,7 +14,11 @@ scene(Scene.Preload, () => { loadSprite(name, src) }) - const sounds = [[Sound.Shoot, 'sounds/shoot.mp3']] + const sounds = [ + [Sound.Explode, 'sounds/explode.mp3'], + [Sound.Hit, 'sounds/hit.mp3'], + [Sound.Shoot, 'sounds/shoot.mp3'], + ] sounds.forEach(([name, src]) => { loadSound(name, src)