Results 1 to 1 of 1
Thread: Change Image when Keypressed
- 10-13-2012, 08:42 PM #1
Member
- Join Date
- Oct 2012
- Posts
- 4
- Rep Power
- 0
Change Image when Keypressed
Hey guys, Java novice here!
I'm trying to make a small game.
I have two sprites that I want to change when it's moving
i.e. i want the active sprite to be pikachu.gif when its still and switch to pikready.gif when its moving
How do i add the ability to do this?
I have added my attempt below
Java Code:package game; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.ImageIcon; import javax.swing.JFrame; public class PikachuAttack extends JFrame implements Runnable{ Graphics dbg; Image dbImage; Image Pik1; ImageIcon active; int x, y, xDirection, yDirection; public void run(){ try{ while(true){ move(); Thread.sleep(10); } }catch(Exception e){ System.out.println("Uh-oh, something went wrong!."); } } private void move() { x += xDirection; y += yDirection; } public void setXDirection(int xdir) { xDirection = xdir; } public void setYDirection(int ydir) { yDirection = ydir; } // KEY COMMANDS // public class AL extends KeyAdapter { @Override public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); active = new ImageIcon("C:\\Users\\Neil\\workspace\\MyOwnTutorials\\bin\\game\\pikready.gif"); if(keyCode == e.VK_LEFT) { setXDirection(-1); } if(keyCode == e.VK_RIGHT) { setXDirection(+1); } if(keyCode == e.VK_UP) { setYDirection(-1); } if(keyCode == e.VK_DOWN) { setYDirection(+1); } } @Override public void keyReleased(KeyEvent e) { int keyCode = e.getKeyCode(); active = new ImageIcon("C:\\Users\\Neil\\workspace\\MyOwnTutorials\\bin\\game\\pikachu.gif"); if(keyCode== e.VK_LEFT){ setXDirection(0); } if(keyCode== e.VK_RIGHT){ setXDirection(0); } if(keyCode== e.VK_UP){ setYDirection(0); } if(keyCode== e.VK_DOWN){ setYDirection(0); } } @Override public void keyTyped(KeyEvent e) { } } // CONSTRUCTOR // public PikachuAttack(){ //Image Import /*ImageIcon still = new ImageIcon("C:/Users/Neil/workspace/MyOwnTutorials/bin/game/pikachu.gif"); Pik1 = still.getImage(); ImageIcon ready = new ImageIcon("C:\\Users\\Neil\\workspace\\MyOwnTutorials\\bin\\game\\pikready.gif"); Pik2 = ready.getImage(); */ Pik1 = active.getImage(); //JFrame properties addKeyListener(new AL()); setTitle("Pikachu Attack"); setSize(500, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); setVisible(true); x = 15; y = 15; } public void paint(Graphics g){ dbImage = createImage(getWidth(), getHeight()); dbg = dbImage.getGraphics(); paintComponent(dbg); g.drawImage(dbImage, 0, 0, this); } public void paintComponent(Graphics g){ g.drawImage(Pik1, x, y, this); g.setColor(Color.red); repaint(); } public static void main(String[] args) { PikachuAttack game = new PikachuAttack(); Thread t1 = new Thread(game); t1.start(); } }
Similar Threads
-
Change background image
By Jeffrod in forum AWT / SwingReplies: 2Last Post: 08-12-2011, 02:14 AM -
KeyPressed trouble with KeyListeners
By CuddlyKittens11 in forum Advanced JavaReplies: 8Last Post: 05-28-2011, 09:31 PM -
Problem with KeyPressed any Help is appreciated
By gryd00 in forum New To JavaReplies: 3Last Post: 05-17-2011, 05:15 PM -
change image
By mysa in forum Java AppletsReplies: 7Last Post: 09-01-2010, 03:51 PM -
Javascript change image
By butsags in forum New To JavaReplies: 1Last Post: 12-10-2009, 11:08 PM


LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks