Wie erkennt ein Objekt ein anderes?

Stormblade

Mitglied
Hallöchen ich hab mal wieder eine allgemeine java-frage. Ich habe folgenden Code:

Java:
public class Klasse1 extends JFrame{
  public static void main(String[]args)
  {
    Klasse1 main = new Klasse1();
    // setSize, setVisible usw...
  }
  Klasse1()
  {
    //setSize etc...
    Klasse2 panel = new Klasse2();
    add(panel);
  }
}
 
public class Klasse2 extends JPanel{
  pubic Klasse2(){
    super();
    Figur Mario = new Figur(this);
    Mario.x = 200;
    Mario.y = 200;
    Mario.start();
    //übergabe einiger eigenschaften
  }
 
  public void paint(Graphics g){
    super.paint(g);
  }
}
 
public class Figur extends Thread{
  int x, y;
  int M_width, M_height;  //denen wird nachher noch ein wert übergeben...
  Graphics g = null;
  JPanel Mother = null; 
 
  public void paint(){
    Color c = Color.blue;
    g.setColor(c);
    g.fillRect(x, y, M_width, M_height);
  }
 
  public void Kollisionserkennung{
    boolean Überschneidung = Rect1.intersects(Rect2); //Rect1 und Rect2 wuden beide oben schon definiert
    if(Überschneidung){
      //irgendein Code
    }
  }
}

So, in dem Code fehlt jetzt einiges, aber meine Frage zielt darauf ab: Ich habe ja die Daten meines Rect1. Ich will ca. 10 weitere Rectangles im JPanel haben und frage mich, wie ich die Intersect-methode von Rect1 mit all diesen ausführen kann? So wie oben wird ja nur Rect1 mit Rect2 geprüft.
Wie kann ich also dieses eine "Rect2" wegbekommen und mit "allen Vierecken" ersetzen?
Wär richtig froh, wenn sich da jemand auskennt und mir helfen könnte :D :D
 
S

SlaterB

Gast
mehrere Objekte kann man in einer Liste organisieren,
Schleifen helfen bei Verarbeitung, hier etwa mehrfachen intersects()-Aufruf
 

Stormblade

Mitglied
ok, aber in intersects() muss doch in die klammer der name des 2ten rechtecks hinein. wenn ich angenommen 100 andere objekte habe, muss ich dann jedem der 100 stück einen anderen namen geben, oder gibts da ne bessere lösung?
mit listen meinst du sicher ein array oder wie?
 
T

TryToHelp

Gast
mehrere Objekte kann man in einer Liste organisieren,
Schleifen helfen bei Verarbeitung, hier etwa mehrfachen intersects()-Aufruf

Was SlaterB meint ist, du kannst anstelle

Java:
Rect rect2=new Rect();

es so machen
Java:
List listOfRects <Rect>=new ArrayList<Rect>();

erstellen und dann durch diese Itterieren

Java:
for (Rect rect : listOfRects ){
    boolean Überschneidung = rect1.intersects(rect);
}

übrigens Objekte klein Schreiben ;-)
 

Stormblade

Mitglied
Ok, dann sag ich mal vielen dank bis hierher, ich werd mir die listen mal anschauen und ein wenig rumprobieren. Hat sich ja so angehört, wie wenn die hier besser geeignet wären :)
Ach ja, warum sagen mir alle, was ich groß und klein schreiben soll ^^ Darf man hier überhaupt was groß schreiben außer klassen? :D
 
T

TryToHelp

Gast
Ok, dann sag ich mal vielen dank bis hierher, ich werd mir die listen mal anschauen und ein wenig rumprobieren. Hat sich ja so angehört, wie wenn die hier besser geeignet wären :)
Ach ja, warum sagen mir alle, was ich groß und klein schreiben soll ^^ Darf man hier überhaupt was groß schreiben außer klassen? :D

Bitte, ja Listen haben den Vorteil, die sind erweiterbar von der Länge und zwar ohne komplizierte verfahren ;-)
Das hat was mit der leserlichkeit des Codes zu tun, dem Compailer ist es egal, aber wenn andere Personen drüberschauen, erkennen sie sofort, was was ist.

So werden Klassen typischerweise geschrieben

Code:
MeineKlasse

und so Objekte

Code:
meinObjektDerKlasse

So kann jemand der dir hilft, der sich deinen Code anschaut sehen, ist das ein Objekt, eine Klasse,... auch die Namensgebung sollte sprechen sein, also nicht Klasse1, Klasse2, NochEineKlasse sondern eher was sie beinhalten Auto, Reifen,...
 

Robokopp

Bekanntes Mitglied
in Quaxli´s Tutorial wird das Konzept dieser Überschneidungen ganz gut erklärt. Dort wird zwar für die Intersection eine eingebaute Methode aus Graphics 2D verwendet, aber das tut nix zur sache.

Die Grundidee ist einfach zu prüfen, ob zwei Objekte gemeinsame Punkte haben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Eclipse erkennt die 3D API nicht! Spiele- und Multimedia-Programmierung 7
pcfreak9000 Objekt-Vorlagen Spiele- und Multimedia-Programmierung 0
Arif Maus-Objekt im Player Klasse implementieren !? Spiele- und Multimedia-Programmierung 2
H Objekt der Klasse A in der Klasse B verwenden und manipulieren Spiele- und Multimedia-Programmierung 6
M [JOGL] Maus über einem gezeichnetem Objekt abfragen? Spiele- und Multimedia-Programmierung 5
U Kann nur ein Objekt mit LWJGL rendern Spiele- und Multimedia-Programmierung 2
kaoZ Graphics Objekt liefert null Spiele- und Multimedia-Programmierung 14
E Java3D Objekt skalieren per JSlider/JButton Spiele- und Multimedia-Programmierung 10
D Probleme mit objekt initializirung mit Mouselistener Spiele- und Multimedia-Programmierung 10
S Java3D: Primitives zu einem Objekt kombinieren Spiele- und Multimedia-Programmierung 7
T LWJGL 3D Objekt Collision: Wie? Spiele- und Multimedia-Programmierung 11
B j3d mehr als ein Objekt rotieren Spiele- und Multimedia-Programmierung 18
G Hindernis vor Objekt erkennen Spiele- und Multimedia-Programmierung 6
W Java3D: Kanten die hinter einem Objekt liegen werden gezeigt Spiele- und Multimedia-Programmierung 2
S Graphics Objekt weiterreichen? Spiele- und Multimedia-Programmierung 4
H Eigenes 3D Objekt Spiele- und Multimedia-Programmierung 20
D 2D Objekt fragmentieren Spiele- und Multimedia-Programmierung 3
V Jogl: Objekt trotz Rotation immer in gleiche Richtung bewegen Spiele- und Multimedia-Programmierung 5
M [J3D]Dynamische Erzeugung vom Objekt Box Spiele- und Multimedia-Programmierung 5
Kr0e OpenGL .. Pixel Buffer Objekt oder Frame Buffer Object? Spiele- und Multimedia-Programmierung 2
B String zu Objekt einer eigenen Klasse casten Spiele- und Multimedia-Programmierung 13
N Objekt entgegengesetzt bewegen Spiele- und Multimedia-Programmierung 8
M BoundingBox ist nicht bündig am Objekt Spiele- und Multimedia-Programmierung 5
K Kanten anzeigen lassen in einem Shape3D-Objekt Spiele- und Multimedia-Programmierung 4
S geladenes Objekt -> Material Zuweisen. Spiele- und Multimedia-Programmierung 4
J Picking Selection auf ein Objekt begrenzen ! Spiele- und Multimedia-Programmierung 6
C Objekt bei Buttonklick zeichnen Spiele- und Multimedia-Programmierung 16
G JOGL: per Mausbewegung Objekt verschieben Spiele- und Multimedia-Programmierung 2
C Objekt zwischen 2 Geraden? Spiele- und Multimedia-Programmierung 3
D 3D Objekt entlang Geraden Spiele- und Multimedia-Programmierung 4
Quaxli Picking: Vom Shape3D zum eigentlichen Objekt Spiele- und Multimedia-Programmierung 2
G Objekt nicht ins negative oder null skalieren Spiele- und Multimedia-Programmierung 2
G Objekt verschieben Spiele- und Multimedia-Programmierung 6
G Textur laden auf ein eingelesenes 3D Objekt Spiele- und Multimedia-Programmierung 4
I ScaleInterpolator verschiebt Objekt immer in den Ursprung. Spiele- und Multimedia-Programmierung 2
V Objekt per Tastendruck anzeigen/verschwinden lassen? Spiele- und Multimedia-Programmierung 4
R Objekt mit cos/sin verschieben Spiele- und Multimedia-Programmierung 27
G Kein Licht in Box-Objekt Spiele- und Multimedia-Programmierung 2
K Ein 3D-Objekt mit Maus auswählen Spiele- und Multimedia-Programmierung 5
D Alpha Objekt Spiele- und Multimedia-Programmierung 8
H Kompliziertes 3D-Objekt Spiele- und Multimedia-Programmierung 16
G Einen gif oder jpg Datei aus einem Graphics Objekt o. JFrame Spiele- und Multimedia-Programmierung 2
C Wie kann ich ein Objekt auf Tastendruck vor & zurück bew Spiele- und Multimedia-Programmierung 3
M Position der ViewingPlatform als Point3d-Objekt? Spiele- und Multimedia-Programmierung 12
S 3D Objekt erstellen und darstellen Spiele- und Multimedia-Programmierung 4
G RotationInterp. setzt Objekt an Ursprungsposition zurück Spiele- und Multimedia-Programmierung 2
N Shape3D Objekt auf dem Bildschirm zentrieren Spiele- und Multimedia-Programmierung 2
N Nur ein anderes RPG Spiele- und Multimedia-Programmierung 0
DEvent java3d oder jme2 oder was anderes? Spiele- und Multimedia-Programmierung 2
U 3D Engine und anderes Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen


Oben