Guten Tag zusammen!
Ich bin gerade dabei Java zu erlernen. Dabei bin ich auf folgendes Problem gestoßen:
Das Bild wird gemalt, wenn ich dann aber W,A,S,D drücke passiert nichts.
Ich bin gerade dabei Java zu erlernen. Dabei bin ich auf folgendes Problem gestoßen:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class testtesttest extends JPanel implements ActionListener, KeyListener {
private int x = 0,y = 0,dx,dy;
Image img;
public testtesttest(){
ImageIcon i = new ImageIcon("bg.png");
img = i.getImage();
}
public void actionPerformed(ActionEvent e){
move();
repaint();
}
public void paint(Graphics g){
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(img, getX(),getY(),null);
}
public void move(){
x = x+dx;
y = y+dy;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
public void keyPressed(KeyEvent e){
int key = e.getKeyCode();
if(key == KeyEvent.VK_A){
dx = -10;
}
if(key == KeyEvent.VK_D){
dx = 10;
}
if(key == KeyEvent.VK_W){
dy = -10;
}
if(key == KeyEvent.VK_S){
dy = 10;
}
}
public void keyReleased(KeyEvent e){
int key = e.getKeyCode();
if(key == KeyEvent.VK_A){
dx = 0;
}
if(key == KeyEvent.VK_D){
dx = 0;
}
if(key == KeyEvent.VK_W){
dy = 0;
}
if(key == KeyEvent.VK_S){
dy = 0;
}
}
public void keyTyped(KeyEvent e){}
}
Java:
import javax.swing.JFrame;
public class MAIN {
public static void main(String[] args){
JFrame frame = new JFrame();
frame.add(new testtesttest());
frame.setTitle("2D testgame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(700,550);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
}
Das Bild wird gemalt, wenn ich dann aber W,A,S,D drücke passiert nichts.