Hilfe
Parameter
X1 | X-Koordinate des ersten Rechtecks |
Y1 | Y-Koordinate des ersten Rechtecks |
width1 | Breite des ersten Rechtecks |
height1 | Höhe des ersten Rechtecks |
X2 | X-Koordinate des zweiten Rechtecks |
Y2 | Y-Koordinate des zweiten Rechtecks |
width2 | Breite des zweiten Rechtecks |
height2 | Höhe des zweiten Rechtecks |
Rückgabewert
0 = keine Kollision
1 = Kollision
Beschreibung
Diese Funktion überprüft, ob ein Rechteck ein anderes berührt. Diese Rechtecke müssen sich nicht auf dem Bildschirm befinden. Eigentlich ist dies eine Vereinfachung einer IF...THEN-Prüfung.
Um genauere Kollision zu ermitteln, ist der Befehl ImageRectCollide besser. Für die Kollision zwischen zwei Bildern ist der Befehl ImagesCollide
notwendig.
Diese Grafik zeigt eine mögliche Kollision, die mit dieser Funktion ermittelt werden kann.
Beispiel
Dieses Programm zeichnet solange zwei Rechtecke, bis eine Kollision auftritt:
SetBuffer BackBuffer()
SeedRnd MilliSecs()
While Not KeyHit(1)
rect1X = Rnd(50, 610)
rect1Y = Rnd(50, 430)
rect1W = 50
rect1H = 50
rect2X = Rnd(50, 610)
rect2Y = Rnd(50, 430)
rect2W = 50
rect2H = 50
Cls
Color Rnd(255), Rnd(255), Rnd(255)
Rect rect1X, rect1Y, rect1W, rect1H, 0
Color Rnd(255), Rnd(255), Rnd(255)
Rect rect2X, rect2Y, rect2W, rect2H, 0
If RectsOverlap (rect1X, rect1Y, rect1W, rect1H, rect2X, rect2Y, rect2W, rect2H) Then
Text 0, 0, "Kollision gefunden! Maustaste drücken..."
Flip
Exit
End If
Flip
Delay 100
Wend
WaitMouse()
EndGraphics
Siehe auch
ImageRectCollide, ImageRectOverlap, ImagesCollide, ImagesOverlap

