Vielen Dank --> neues Problem
Jetzt wird i-wie nur processKeys ausgeführt, d.h. wenn ich einmal eine von den 4 Tasten drücke, ist das Viereck weg ^^
Nochmal meinen aktuellen Quellcode:
Jetzt wird i-wie nur processKeys ausgeführt, d.h. wenn ich einmal eine von den 4 Tasten drücke, ist das Viereck weg ^^
Nochmal meinen aktuellen Quellcode:
Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class Rechtecke extends Applet implements Runnable, KeyListener {
int x1=20;
int x2=120;
int y1=40;
int y2=40;
boolean keyUpPressed;
boolean keyDownPressed;
boolean keywPressed;
boolean keysPressed;
public void init(){
setBackground (Color.WHITE);
addKeyListener(this);
}
public void start (){
Thread th = new Thread (this);
th.start();
}
private boolean running = true;
public void run (){
while(running) {
this.resize(200,500);
processKeys();
}
}
public void paint (Graphics g){
g.setColor(Color.red);
g.fillRect(x1,y1,20,20);
g.fillRect(x2,y2,20,20);
}
public void keyPressed(KeyEvent s) {
switch (s.getKeyCode()) {
case 40:
keyDownPressed = true;
break;
case 38:
keyUpPressed = true;
break;
case 83:
keysPressed = true;
break;
case 87:
keywPressed = true;
break;
}
System.out.println("keyPressed");
// if (s.getKeyCode() == 40)x2=x2+10;
// if (s.getKeyCode() == 38)y2=y2-10;
// if (s.getKeyCode() == 83)x1=x1+10;
// if (s.getKeyCode() == 87)y1=y1-10;
// }
}
public void keyTyped(KeyEvent s) { }
public void keyReleased(KeyEvent s) {
switch (s.getKeyCode()) {
case 40:
keyDownPressed = false;
break;
case 38:
keyUpPressed = false;
break;
case 83:
keysPressed = false;
break;
case 87:
keywPressed = false;
break;
}
System.out.println("keyReleased");
}
protected void processKeys() {
if (keyDownPressed) {
x2=x2+1;
}
if (keyUpPressed) {
y2=y2-1;
}
if (keysPressed) {
x1=x1+1;
}
if (keywPressed) {
y1=y1-1;
}
System.out.println("TEST");
repaint();
}
}