From c63246cdb9cd3d32fab2a0a0c5714f192099fb98 Mon Sep 17 00:00:00 2001 From: John Date: Tue, 7 Jun 2022 13:19:54 -0400 Subject: [PATCH] Make stickybomb have sprites --- img/misc/bomb.png | Bin 0 -> 1715 bytes src/GamePanel.java | 4 +++- src/StickyBomb.java | 14 ++++++-------- 3 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 img/misc/bomb.png diff --git a/img/misc/bomb.png b/img/misc/bomb.png new file mode 100644 index 0000000000000000000000000000000000000000..059caaa10f1a7c77af28d577f57623b5838ea520 GIT binary patch literal 1715 zcmV;k22A;hP)C00004XF*Lt006O% z3;baP00039P)t-su*1Z|%EY(G%F?ZfxXH@6$;z_A#dXJn#0J#!OY9byQtBxjkw9myv)t7 z!o#w}#ka`GxysA2!^Ez^!oAJTt-!&y$H>0U&$GqGt-->(%gnLG#;?P~v&YD;!o#q{ z#j?i7)2)fX&(O5U$*jP^ASjt30000ubW%=JzrVkq@83T^f8W2q?;qcvj}LE8&#y19 z&p(f^U%yXJZ*O0}kAE*8AK%a4pD(|EKVJ_I@9#eVi)$iH000FNNkl_R z7{|T3*LQDsr`$O9-Vj0b_S(!^!GZ_|zW+Bl(HW$Kgh0Z*IREcPoq2xqv?LEEGyad2 zxdL1Pt^iknE5H@N_w()h+~KU;yT@NWZ}oVd7a0TG-W)vocwuN{fi14V65!n-pr3AT zPj8haaF!&p19*Rc>X*kc&jCmG>;P`y0Ed6RKUtnCiZWXPP-X@YV*l^IZ1XeOvL(+z zD_wv;{{}P1H z{#WGrdiw07L{&@x@b=hu7gjvYr!T&ciehX439PLIS}3b?APR8-lG#5sif#1G3k2Xx zE4e<;PH`y20vK2{v^aTz6XTR&hYEo;xAXD77Xu)I3pP95Fib~=q3@Wf!oBLRv|4VYBrs)HgD z;4Rf<0Jb13sz`tzsdu43FZuxq@HK^1UOG4RVv2)Gt9^Ur%>p6 z0#6va9vq;O0h~Os->IaHQ8U#2K4jQP4DjNMy{;M&ykXCc_Z!rxHzt7Nj$>4gD1NEO zS9hWRG(`XkLIDVA00^kXC=CGQa@=8We~1LAum`9h0lMq~x=4T$dw>!WV3cwd29IVb z7eNr9&Dwq&1Mt8appOAyo&P0GcT}0RG6Po1O#U00N_C)DfaSHDk0Z$VY#0$z)BuBY1MkVo4e{ zlYD=GMGrzhzNa39F5&kFnv^S{Es$Pt7^RQ^=o=OTngI1US3DkACm{BYNteBS%q15( z#W>85;{s60gJFFfAAkY@+CKiC(SWV}2p652iF#sJ7$*f73wKm^AmjkYVi+<=e-eOk zGuGthK^W5lIOZa;6WaMme>n1OJE25`&>1AW;sJ|8^i=4SgfV>pI}nj_;ci6Xl1rHC zUCi0F-EUI4WrJcUh52E4SE|#x=7Z6w)US9tWV_NI)Z_f6e*r6@;I(LQCb0kj002ov JPDHLkV1gp%LhJwl literal 0 HcmV?d00001 diff --git a/src/GamePanel.java b/src/GamePanel.java index a59cdfb..2db79e1 100644 --- a/src/GamePanel.java +++ b/src/GamePanel.java @@ -49,6 +49,8 @@ public class GamePanel extends JPanel implements Runnable, KeyListener{ public BufferedImage backgroundImage = getImage("img/backgrounds/pointyMountains.png"); public BufferedImage box = getImage("img/tiles/boxes/box.png"); public BufferedImage boxCoin = getImage("img/tiles/boxes/boxCoin.png"); + public BufferedImage bomb = getImage("img/misc/bomb.png"); + public GamePanel(JPanel gameFrame) throws IOException, SpriteException, UnsupportedAudioFileException, LineUnavailableException { this.gameFrame = gameFrame; @@ -181,7 +183,7 @@ public class GamePanel extends JPanel implements Runnable, KeyListener{ //run() method is what makes the game continue running without end. It calls other methods to move objects, check for collision, and update the screen public void run(){ - b = new StickyBomb(600, 100, 20, 1,-5); + b = new StickyBomb(600, 100, 20, 1,-5, bomb); LevelManager.setLevel(1); //the CPU runs our game code too quickly - we need to slow it down! The following lines of code "force" the computer to get stuck in a loop for short intervals between calling other methods to update the screen. diff --git a/src/StickyBomb.java b/src/StickyBomb.java index b179e37..85cee6a 100644 --- a/src/StickyBomb.java +++ b/src/StickyBomb.java @@ -1,23 +1,22 @@ import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; +import java.awt.image.BufferedImage; public class StickyBomb extends GenericSprite{ public int length; - public int xVelocity; - public int yVelocity; - public boolean isMove; - public int realX; + BufferedImage sprite; - public StickyBomb(int x, int y, int length, int xVelocity, int yVelocity){ + public StickyBomb(int x, int y, int length, int xVelocity, int yVelocity, BufferedImage sprite){ super(x,y,length,length); this.length = length; this.xVelocity = xVelocity; this.yVelocity = yVelocity; + this.sprite = sprite; isMove = true; } @@ -75,11 +74,10 @@ public class StickyBomb extends GenericSprite{ public void mousePressed(MouseEvent e){ int xx = e.getX(); int yy = e.getY(); - GamePanel.b = new StickyBomb(GamePanel.player.x+GamePanel.camera.x,GamePanel.player.y,35, (xx-GamePanel.player.x-GamePanel.camera.x)/20, (yy-GamePanel.player.y)/10); + GamePanel.b = new StickyBomb(GamePanel.player.x+GamePanel.camera.x,GamePanel.player.y,35, (xx-GamePanel.player.x-GamePanel.camera.x)/20, (yy-GamePanel.player.y)/10, sprite); } public void draw(Graphics g){ - g.drawRect(x-GamePanel.camera.x,y,length,length); - + g.drawImage(sprite,x-GamePanel.camera.x,y, length, length, null); } }