Simple Kollisionsabfrage zweier Quadrate...
-
Hey Leute,
ich arbeite zur Zeit an einem kleinen Spiel....
Eines vom Spieler bewegtes Quadrat und ein sich zufällig bewegendes Quadrat befinden sich in einem Spielfeld ( alles 2D Draufischt). Wenn nun die beiden Quadrate kollidieren soll etwas geschehen....
Hier mein Kollisionsansatz (Kollision soll von allen Seiten möglich sein):
____
| |
| A |
|____|____
| |
| B |
|____|if(A.x + A.bx > B.x && A.x < B.x + B.bx) { //Kollision }
Das ist eine Kollisionsabfrage auf der X-Achse:
Wenn die X-Koordinate im linken oberen Punkt von A + Die horizontale Kantenlänge
größer als
Die X-Koordinate im linken oberen Punkt von B ist.......Ist diese Kollisionsabfrage sinnvoll? Gibt es bessere? Wie sähen diese aus?
Danke schon mal im V O R R A U S
mfg
-
Die ist falsch. Glaub ich-
if(A.x + A.bx > B.x && A.x < B.x + B.bx)
zu
if(A.x + A.bx >= B.x && A.x + A.bx <= B.x + B.bx || A.x <= B.x + B.bx && A.x >= B.x)//Die Gleich-Kleiner und ~-größer sind natürlich optional
Edit: Jetzt gehts für Links und Rechts.
Willst du nur wissen ob sie sich berühren?