Kisten Kollision

Hercules

Mitglied
Hey.
Irgendwie funktioniert die Kollision nur bei der ersten Kiste ich weiss aber nicht warum.
Java Kisten Kollision Fehler - YouTube

So erstelle ich die Kisten:

Java:
        chest1 = new Chest(20*32,16*32,Menu.trank);
        chest2 = new Chest(15*32,10*32,Menu.gegengift);
        chestList.add(chest1);
        chestList.add(chest2);

        // Dann Rechtecke für die Kollisionabfrage, die Kistengrafik ist 32x32
        chestRect = new Rectangle[2];
        chestRect[0] = new Rectangle(chest1.x,chest1.y,32,32); // First Map
        chestRect[1] = new Rectangle(chest2.x,chest2.y,32,32); // First Map

Ich frage dann so ab:

Java:
                for(int x = 0 ;x < chestRect.length; x++){       
                             
                        if(chestRect[x].intersects(playerUp))
                            value.chestUp = true;                       
                        else
                            value.chestUp = false;
                        
                         if(chestRect[x].intersects(playerLeft))
                            value.chestLeft = true;
                        else
                            value.chestLeft = false;
                
                        if(chestRect[x].intersects(playerRight))
                            value.chestRight = true;
                        else
                            value.chestRight = false;
                
                        if(chestRect[x].intersects(playerDown))
                            value.chestDown = true;
                        else
                            value.chestDown = false;
                
                         }

Und bei der Spielebewegung frage ich dann ab ob z.B. chestUp true ist und wenn ja darf der Spieler nicht nach oben gehen.

Das geht auch aber nur bei der ersten Kiste. Die Spieler Rechtecke setze ich so:
Java:
 // Rechtecke aktualisieren
      playerUp.setBounds(xenor.x+8,xenor.y+16,32,32);
      playerLeft.setBounds(xenor.x-4,xenor.y+30,32,32);  
      playerRight.setBounds(xenor.x+20,xenor.y+30,32,32);  
      playerDown.setBounds(xenor.x+8,xenor.y+40,32,32);
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
ausreichende Information ohne youtube-Videos wäre begrüßenswert,

einen naheliegenen Tipp wage ich, und sei es nur, damit du mehr dazu erklärst:

bei jedem Kistenvergleich wird im Nicht-Treffer-Fall alles mögliche auf false gesetzt,
wenn die erste Kiste [c]value.chestUp = true;[/c] bewirkt, so nützt das gar nichts, sofern nicht die zweite Kiste genauso verfährt,
lasse alle else-Fälle weg,
du kannst die boolean-Variablen gegebenfalls vor dem Schleifendurchlauf alle 4 auf false initialisieren

------

vermeide grundsätzlich so weit wie möglich, separate Listen/ Daten zu bestimmten Objekten vorzuhalten,
warum kann das Rectangle der Kiste nicht im Chest-Objekt gespeichert sein?
 

Hercules

Mitglied
Ich verdammter Vollidiot! -.-"
Habe es geändert und es geht nun.

Java:
        value.chestUp = false;
        value.chestLeft = false;
        value.chestRight = false;
        value.chestDown = false;

                for(int x = 0 ;x < chestRect.length; x++){       
                             
                        if(chestRect[x].intersects(playerUp))
                            value.chestUp = true;                       
                        
                         if(chestRect[x].intersects(playerLeft))
                            value.chestLeft = true;                    
                
                        if(chestRect[x].intersects(playerRight))
                            value.chestRight = true;                        
                
                        if(chestRect[x].intersects(playerDown))
                            value.chestDown = true;                 
                
                         }

Danke!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Kollision Spiele- und Multimedia-Programmierung 5
A Kollision funktioniert nicht richtig bei zu schneller Geschwindigkeit des Spielers Spiele- und Multimedia-Programmierung 0
N Kollision von zwei ImageIcons Spiele- und Multimedia-Programmierung 8
D Kollision funktioniert unten aber nicht oben Spiele- und Multimedia-Programmierung 4
J Kollision (libgdx) Spiele- und Multimedia-Programmierung 2
S Kollision Spiele- und Multimedia-Programmierung 2
J Kollision genau erkennen mit intersects Spiele- und Multimedia-Programmierung 27
K a* kollision der einheiten Spiele- und Multimedia-Programmierung 3
S Probleme bei Breakout - Brick kollision Spiele- und Multimedia-Programmierung 2
F Rechteck Kollision Spiele- und Multimedia-Programmierung 10
H 2- D Kollision Spiele- und Multimedia-Programmierung 14
C Zeldaklon Problem mit Wand-Kollision Spiele- und Multimedia-Programmierung 8
O Kollision Polygon und Rechteck Spiele- und Multimedia-Programmierung 2
S Pacman Kollision von Münzen und Mauern Spiele- und Multimedia-Programmierung 11
P Gridpane Kollision Spiele- und Multimedia-Programmierung 3
Androbin Kollision zwischen Raster und Nicht-Raster Spiele- und Multimedia-Programmierung 2
L Kollision soll nur an oberer Seite (Breite) möglich sein Spiele- und Multimedia-Programmierung 6
S 3D-Kollision mit zwei ArrayLists Spiele- und Multimedia-Programmierung 7
T Pixelgenaue Kollision Spiele- und Multimedia-Programmierung 5
A LWJGL 3D Objekte Kollision Spiele- und Multimedia-Programmierung 3
S Kollision tile-based 2D Plattformer Spiele- und Multimedia-Programmierung 2
D Greenfoot Kollision Spiele- und Multimedia-Programmierung 5
D Kollision verhindern Spiele- und Multimedia-Programmierung 2
R Frage zur Kollision Spiele- und Multimedia-Programmierung 5
Maxim6394 [Java3D] Probleme bei Kollision Spiele- und Multimedia-Programmierung 7
Kr0e Kollision zweier Kugeln... Wo ist Newton ?? Spiele- und Multimedia-Programmierung 9
C Kollision zwischen 2 Kreisen Spiele- und Multimedia-Programmierung 3
Helgon Kollision von jeder Seite des Blocks Spiele- und Multimedia-Programmierung 3
Fab1 Kollision die 100ste Spiele- und Multimedia-Programmierung 5
D Jump'n'run Kollision bei Blöcken Spiele- und Multimedia-Programmierung 10
P PingPong Spiel - Kollision Spiele- und Multimedia-Programmierung 2
C Bitmaske und Kollision Spiele- und Multimedia-Programmierung 2
J Spielprogrammierung mit bewegung und kollision Spiele- und Multimedia-Programmierung 24
S Kollision Kreis Rechteck Spiele- und Multimedia-Programmierung 8
aze Java3D: Gegenstände aufeinander zubewegen ohne Kollision Spiele- und Multimedia-Programmierung 4
baddestpoet pixelgenaue Kollision Spiele- und Multimedia-Programmierung 4
S Kollision in 2D Spiele- und Multimedia-Programmierung 12
B Gedrehte Rechtecke Kollision Spiele- und Multimedia-Programmierung 4
J Kollision mit Block (Wand) Spiele- und Multimedia-Programmierung 11
C Kollision in Java3D Spiele- und Multimedia-Programmierung 4
J Kollision von Objekten Spiele- und Multimedia-Programmierung 7
M Asteroids Clone: Kollision zwischen Schuss und Feind Spiele- und Multimedia-Programmierung 13
F Bewegung/Kollision von Objekten auf Tastendruck Spiele- und Multimedia-Programmierung 6
Z Kollision Spiele- und Multimedia-Programmierung 3
F Kollision für Arkanoid Spiele- und Multimedia-Programmierung 2
N Kollision abfragen Spiele- und Multimedia-Programmierung 3
K Sprites / Kollision Spiele- und Multimedia-Programmierung 3
S Jump'n'Run: Probleme mit Kollision Spiele- und Multimedia-Programmierung 13

Ähnliche Java Themen

Neue Themen


Oben