Rechteck Koolision

T

test54124

Gast
Hallo,

habe folgendes Problem und zwar habe ich mir eine Klasse geschrieben bei der man durch die Navi. Taste ein Rechteck bewegen kann. Es gibt auch noch ein zweites Rechteck und sobald das erste auf das 2 zweite trifft soll eine Meldung ausgegeben werden. Dieses funktioniert jedoch nicht.

Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
 
  public class Viereck extends Applet implements KeyListener, Runnable {
   int x1=50,y1=55,x2=100,y2=100;
   boolean col=false;
   boolean richtung=true;
   Rectangle rectOne = new Rectangle(x1, y1,50,50);
   Rectangle rectTwo =new Rectangle(x2, y2,50,50);
 
   public void init()  {
	   this.addKeyListener(this);
		this.setFocusable(true);
    setBackground (Color.white);
    Thread myThread = new Thread(this);
	myThread.start();
  
   }
 
  
 
   public void paint (Graphics g) {
    g.setColor(Color.black);
    g.fillRect(x1,y1,50,50);
    g.setColor(Color.black);
    g.fillRect(x2,y2,50,50);
   }



@Override
public void keyPressed(KeyEvent e) {

	if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
		x1++;
		
	
	}
	if (e.getKeyCode() == KeyEvent.VK_LEFT) {
		x1--;
		
	
	}
	if (e.getKeyCode() == KeyEvent.VK_DOWN) {
		y1++;
		
	
	}
	if (e.getKeyCode() == KeyEvent.VK_UP) {
		y1--;
		
	
	}
	repaint(); 
	
	}

public void überprüf(){
	col=rectOne.intersects(rectTwo);

	  if(col ==true){
	        System.out.println("überrr");
	        }
	        else{
	        	System.out.println("not");
	        	
	        }
	  
}
	
public void keyReleased(KeyEvent arg0) {
	// TODO Auto-generated method stub
	
}

public void keyTyped(KeyEvent arg0) {
	// TODO Auto-generated method stub
	
}

public void run() {
	while(true){
	überprüf();
    
	}
	
}
  }
 

Marco13

Top Contributor
Java ist keine "symbolische" Programmiersprache. Das x1, y1 usw. wird anfangs einmal im Rectangle gespeichert, und wenn man x1 danach ändert, bekommt das rectangle.x davon nichts mit. Statt der Zeilen wie
x1++;
sowas schreiben wie
rectOne.x++;
würde vermutlich erstmal helfen...
 

HimBromBeere

Top Contributor
Noch ein Zusatz: eine Funktion sollte man eher nicht überprüf() nennen, wegen der Umlaute. Entweder du entscheidest dich fuer ueberpruef, was aber mehr als haesslich aussieht, oder du nimmst einfach check().
 

Marco13

Top Contributor
JApplet wäre besser als Applet
Fields sollten private sein
Endlosschleife ohne Thread.sleep
...
Man könnte die Liste lange fortsetzen, deswegen hatte ich gesagt, dass das erstmal hilft - weitere Fragen werden wohl noch kommen ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
laxla123 Rechteck programmieren Java Basics - Anfänger-Themen 4
I Viereck / Rechteck Prüfung innerhalb einem bestimmten Bereich Java Basics - Anfänger-Themen 2
M Rechteck wird nicht angezeigt Java Basics - Anfänger-Themen 3
J Kreis soll die gleiche Fläche wie das Rechteck haben wie mache ich das? Java Basics - Anfänger-Themen 3
L Wie vergrößere ich ein Rechteck in alle Richtungen um eins und bekomme dessen Rand? Java Basics - Anfänger-Themen 2
S Erste Schritte Java - Applet - Rechteck ständig versetzen Java Basics - Anfänger-Themen 14
GRAZZ0R MouseListener - Rechteck Bewegen Java Basics - Anfänger-Themen 1
S Erste Schritte Ein Rechteck aus Sternchen mit Wiederholungsanweisung erstellen Java Basics - Anfänger-Themen 2
J Rechteck zeichnen mit Canvas Java Basics - Anfänger-Themen 7
T Rechteck Programmieren Java Basics - Anfänger-Themen 4
F Klasse Rechteck definieren Java Basics - Anfänger-Themen 21
S Rechteck zeichnen Java Basics - Anfänger-Themen 2
M Erste Schritte Gefülltes Rechteck programmieren Java Basics - Anfänger-Themen 1
T GUI anstatt Bild schwarzes Rechteck gespeichert Java Basics - Anfänger-Themen 0
S Ein Rechteck soll an einer Seite gespiegelt werden. Java Basics - Anfänger-Themen 5
G Methoden Nicht überlappte teile eines Rechteck's Java Basics - Anfänger-Themen 9
O Rechteck Java Basics - Anfänger-Themen 10
X Rechteck Java Basics - Anfänger-Themen 2
I Rechteck Zeichnen Java Basics - Anfänger-Themen 9
M Farbiges Rechteck zeichnen Java Basics - Anfänger-Themen 2
F Rechteck/Quadrat getroffen? Java Basics - Anfänger-Themen 2
K Rechteck/Quadrat Java Basics - Anfänger-Themen 5
P Rechteck Zufallsverschiebung mit Abprallen Java Basics - Anfänger-Themen 12
M Umfang von Rechteck oder Kreis anhand der Parameter Java Basics - Anfänger-Themen 2
J Rechteck Java Basics - Anfänger-Themen 8
G Rechteck zeichen Java Basics - Anfänger-Themen 4
B Rechteck aus Sternen Zeichnen Java Basics - Anfänger-Themen 8
J itext - Rechteck in PdfCell Java Basics - Anfänger-Themen 2
E klasse für ein Rechteck schreiben Java Basics - Anfänger-Themen 25
K Rechteck mit einem Loch in dem Mitte Java Basics - Anfänger-Themen 11
B Swing Rechteck zeichnen Java Basics - Anfänger-Themen 14
H Rechteck ziehen bei einer Application Java Basics - Anfänger-Themen 2
Dilandau rechteck des applet inhalts als gif-datei speichern? Java Basics - Anfänger-Themen 2
R mit MouseDragged Rechteck verschieben. Java Basics - Anfänger-Themen 2
G Linie innerhalb Rechteck Java Basics - Anfänger-Themen 2
G dicke linie zeichnen bzw schräges rechteck füllen Java Basics - Anfänger-Themen 2
W Problem mit einem Programm Rechteck Fläche, Umfang Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben