Ich habe gerade gelernt mein label zu steuern via KeyListener jetzt wolte ich das mal testen mir eine gegner Ki zu programmieren die mich verfolgt hat da jemand eine kleine Hilfestellung danke im vorraus.
hab das mal mit 2 panels gemacht und dann kamm mir diese frage in den Kopf
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class MyFrame extends JFrame implements KeyListener {
JLabel label;
JLabel label2;
JLabel label3;
MyFrame() {
this.setSize(600 , 600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(null);
this.addKeyListener(this);
this.getContentPane().setBackground(Color.DARK_GRAY);
this.setTitle("Bewegen");
label = new JLabel();
label.setBounds(0, 0, 50, 50);
label.setBackground(Color.BLUE);
label.setOpaque(true);
this.add(label);
label2 = new JLabel();
label2.setBounds(50, 50, 50, 50);
label2.setBackground(Color.BLUE);
label2.setOpaque(true);
this.add(label2);
this.setVisible(true);
}
@Override
public void keyTyped(KeyEvent e) {
switch(e.getKeyChar()) {
case 'a' : label.setLocation(label.getX()-50, label.getY());
break;
case 'w' : label.setLocation(label.getX(), label.getY()-50);
break;
case 's' : label.setLocation(label.getX(), label.getY()+50);
break;
case 'd' : label.setLocation(label.getX()+50, label.getY());
break;
case 'j' : label2.setLocation(label2.getX()-50, label2.getY());
break;
case 'i' : label2.setLocation(label2.getX(), label2.getY()-50);
break;
case 'k' : label2.setLocation(label2.getX(), label2.getY()+50);
break;
case 'l' : label2.setLocation(label2.getX()+50, label2.getY());
}
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class MyFrame extends JFrame implements KeyListener {
JLabel label;
JLabel label2;
JLabel label3;
MyFrame() {
this.setSize(600 , 600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(null);
this.addKeyListener(this);
this.getContentPane().setBackground(Color.DARK_GRAY);
this.setTitle("Bewegen");
label = new JLabel();
label.setBounds(0, 0, 50, 50);
label.setBackground(Color.BLUE);
label.setOpaque(true);
this.add(label);
label2 = new JLabel();
label2.setBounds(50, 50, 50, 50);
label2.setBackground(Color.BLUE);
label2.setOpaque(true);
this.add(label2);
this.setVisible(true);
}
@Override
public void keyTyped(KeyEvent e) {
switch(e.getKeyChar()) {
case 'a' : label.setLocation(label.getX()-50, label.getY());
break;
case 'w' : label.setLocation(label.getX(), label.getY()-50);
break;
case 's' : label.setLocation(label.getX(), label.getY()+50);
break;
case 'd' : label.setLocation(label.getX()+50, label.getY());
break;
case 'j' : label2.setLocation(label2.getX()-50, label2.getY());
break;
case 'i' : label2.setLocation(label2.getX(), label2.getY()-50);
break;
case 'k' : label2.setLocation(label2.getX(), label2.getY()+50);
break;
case 'l' : label2.setLocation(label2.getX()+50, label2.getY());
}
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}