AWT Rectangle2D.Double intersecs

Status
Nicht offen für weitere Antworten.
moin

ich hab ein Problem mit Instanzen von Rectangle2D.Double
DoodlePeter ist abgeleitet von Doodle was wiederum direkt von Rectange2D.Double abgeleitet ist.


Code:
DoodlePeter peter = new DoodlePeter(100,100,this);
DoodlePeterpeter2 = new DoodlePeter(103,103,this);
doodles.add(peter);
doodles.add(peter2);
		
System.out.println(peter.intersects(peter2));
Wieso bekomme ich bei intersetcs(...); immer false als Return?
Er liefert mir auch false wennn ich peter.intersects(peter) abfrage. Da MÜSSTE es doch definitiv true ergeben ?


Grafisch sieht das so aus: peter und peter2 sind die beiden Quadrate die sich überschneiden. Hier müsste ich doch als Return true bekommen?
doodles.jpg



Ich habe mich an das Tutorial zum Thema 2d-spieleprogrammierung gehalten (>>link<<. Das Spiel hab ich auch soweit fertigbekommen, war wirklich lehrreich das durchzuarbeiten.
Dort funktioniert das mit dem intersects(..) ja auch ... aber warum bei mir nicht?
 

Geeeee

Bekanntes Mitglied
2 Ideen:
1. Du hast intersects aus was weiss ich einem Grund überschrieben und es gibt einfach als dummy immer false zurück.
2. Dein Konstruktor macht irgendwas mit den Parametern, doch packt die Rechtecke nicht an die gleiche Position.
 
Konstruktor: (Welt ist eine Classe abgeleitet von JPanel)
Code:
public Doodle(double x, double y, Welt doodlewelt){
this.x = x;
this.y = y;
this.doodlewelt = doodlewelt;
}

Also soweit packt er die Quatdrate schon an die Richtige Ecke (ist ja auch grafisch zu sehen)

Mir kommt allerdings gerade eine Idee. Woher weiß peter bzw. peter2 wie breit er ist?
Das Rechteck entsteht durch folgende Methode:
Code:
@Override
void drawObjects(Graphics g) {
	g.drawRect((int)x, (int)y, 20, 20);
}

intersects wird nirgends überschrieben.


----------------------------------



Nachtrag: Ich habs :eek:
meine Instanzen von Doodle hatten keine Größe (höhe,breite). Dass er sie trotzdem korrekt zeichnet liegt an der drawObject-Methode.
 
Zuletzt bearbeitet:

Geeeee

Bekanntes Mitglied
Ok...die Höhe / Breite ist einfach nicht angegeben.
Das was du machst ist "malen" eines Rechteckes, aber du musst deinem Rechteck noch die Größe ins Objekt packen. Dann wird es auch klappen. Also setHeight oder setWidth (oder so ähnlich)

EDIT: ok..selbst geschafft :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Swing Dynamisch zeichnen mit Shapes wie Rectangle2D.Float ? AWT, Swing, JavaFX & SWT 6
K AWT Probleme mit Zeichnen des Rectangle2D. Rotation stimmt nicht überein AWT, Swing, JavaFX & SWT 9
L Rectangle2D AWT, Swing, JavaFX & SWT 6
F ToolTip über Line2D bzw. Rectangle2D AWT, Swing, JavaFX & SWT 5
CptK Point2D.Double Kurven - Beschriftung und richtiges Anklicken AWT, Swing, JavaFX & SWT 7
CptK Wie funktioniert contains() für Path2D.Double AWT, Swing, JavaFX & SWT 10
B AWT GUI nimmt nur 19 Ziffern an, obwohl Max Wert von Double größer ist AWT, Swing, JavaFX & SWT 7
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
S Polygon mit double-Koordinaten AWT, Swing, JavaFX & SWT 2
N Double Buffern von BILDERN AWT, Swing, JavaFX & SWT 6
V Applet Double Buffering AWT, Swing, JavaFX & SWT 2
B Graphics2d drawString mit double Werten? AWT, Swing, JavaFX & SWT 5
O 2D-Grafik Rectangle mit double Werten zeichnen AWT, Swing, JavaFX & SWT 3
T 2D-Grafik Double Buffering AWT, Swing, JavaFX & SWT 7
lumo SWT Double Buffering AWT, Swing, JavaFX & SWT 5
M Object[][] in double[][] casten AWT, Swing, JavaFX & SWT 6
A aus einem Textfeld in double parsen AWT, Swing, JavaFX & SWT 10
K Flackern trotz Double-Buffering AWT, Swing, JavaFX & SWT 10
J JSlider mit Double Werten AWT, Swing, JavaFX & SWT 5
T JTextField nur Double werte eingeben AWT, Swing, JavaFX & SWT 2
A Explicit casting Point2D.Double AWT, Swing, JavaFX & SWT 3
A TableRowSorter für double Werte mit Formatierung AWT, Swing, JavaFX & SWT 3
hdi Wie implementiere ich Double Buffering AWT, Swing, JavaFX & SWT 12
R drawString mit double Koordinaten AWT, Swing, JavaFX & SWT 5
L JTextField Umwandeln in double-Werte AWT, Swing, JavaFX & SWT 5
K double / int einlesen? AWT, Swing, JavaFX & SWT 12
G Frage zu Double Buffering AWT, Swing, JavaFX & SWT 4
L double in JTable formatieren AWT, Swing, JavaFX & SWT 7
P Integer, Double, etc mit getTableCellRendererComponent AWT, Swing, JavaFX & SWT 6
P Double-Werte sortieren mit TableRowSorter AWT, Swing, JavaFX & SWT 2
U Double Buffering AWT, Swing, JavaFX & SWT 6
B JFormattedTextField mit DecimalFormat in ein Double AWT, Swing, JavaFX & SWT 11
J Double-Buffering zu langsam AWT, Swing, JavaFX & SWT 4
S double in String umwandeln AWT, Swing, JavaFX & SWT 6
L Double-Buffering AWT, Swing, JavaFX & SWT 2
R Double in der Tabelle statt String und Integer AWT, Swing, JavaFX & SWT 3
Student "Dicke" einer Linie - Line2D.Double AWT, Swing, JavaFX & SWT 12
G Double-Click f. alle Komps UNIX u. WIN verschieden ? AWT, Swing, JavaFX & SWT 5
D double Buffering abschalten? AWT, Swing, JavaFX & SWT 4
G Ellipse2D.Double funktioniert nicht AWT, Swing, JavaFX & SWT 3
W SWT - Tree: Problem mit Double-Click expand AWT, Swing, JavaFX & SWT 5
L Double Buffering bei JTable AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben