Panel lässt sich nicht bewegen

Azad

Mitglied
Hallo Leute,
ich bin vor kurzem in die GUI-Entwicklung eingestiegen und muss derzeit ein Labyrinth programmieren. Ich hänge jedoch seit einer weile an dem Problem ,dass ich das Bild, welches die Spielfigur sein soll, nicht bewegen kann.
Einmal der Spieler;
Java:
public class BildSpieler extends JFrame implements KeyListener {

	int posX=400;
	int posY=300;
	
	public BildSpieler(){
		Icon x=new ImageIcon(getClass().getResource("spieler.png"));
		JLabel bild=new JLabel(x);
		add(bild);
		addKeyListener(this);

}

	@Override
	public void keyPressed(KeyEvent e) {
		// TODO Auto-generated method stub
		if(e.getKeyCode()==KeyEvent.VK_W)
			posY-=10;
		if(e.getKeyCode()==KeyEvent.VK_A)
			posX-=10;
		if(e.getKeyCode()==KeyEvent.VK_S)
			posX+=10;
		if(e.getKeyCode()==KeyEvent.VK_D)
			posY+=10;
		repaint();
		
	}

	@Override
	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub
		
	}
}
Und einmal die Main
Java:
public class BildMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame jf=new BildSpieler();
		jf.setSize(800,600);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setTitle("Bild");
		jf.setVisible(true);
		

	}

}
Stehe schon seit einer weile auf dem Schlauch 🙁
 
Für ein Spiel wird auch eigentlichkein Panel verwendet. Guck dir mal dke Klasse Graphics an. Die ist für solche Aufgabe prädestiniert.
Aber der Fehler in deinem Code ist, dass du nur die beiden Variablen aktuelisierst, nicht aber die Position des Panels.
 

Neue Themen


Zurück
Oben