Hilfe
Parameter
bild1 |
Identität des ersten Bildes (z.B. mit LoadImage![]() |
x1 | horizontale Position des ersten Bildes |
y1 | vertikale Position des ersten Bildes |
bild2 | Identität des zweiten Bildes |
x2 | horizontale Position des zweiten Bildes |
y2 | vertikale Position des zweiten Bildes |
Rückgabewert
0 = keine Kollision
1 = Kollision
Beschreibung
Diese Funktion prüft zwei Bilder auf Kollision. Die transparente Farbe wird nicht berücksichtigt. Dadurch ist dieser Befehl relativ ungenau, dafür aber sehr schnell. Eigentlich ist dies eine Vereinfachung einer If-Then
-Prüfung. Um genauere Kollision zu ermitteln, ist der Befehl ImagesCollide
besser.
Diese Grafik zeigt eine etwas ungenaue Kollision, die mit dieser Funktion ermittelt werden kann:
Beispiel
Dieses Programm zeichnet einen Kreis. Wenn dieser Kreis einen Rechteck berührt, dann wird das Programm gestoppt:
gfxBox = CreateImage(50, 50)
gfxCircle = CreateImage(50, 50)
SetBuffer ImageBuffer(gfxBox)
Color 0, 0, 255
Rect 10, 10, 30, 30, 1
SetBuffer ImageBuffer(gfxCircle)
Color 255, 0, 0
Oval 10, 10, 30, 30, 1
SetBuffer BackBuffer()
boxX = Rnd(50, 610)
boxY = Rnd(50, 430)
Repeat
circleX = MouseX()
circleY = MouseY()
Cls
DrawImage gfxBox, boxX, boxY
DrawImage gfxCircle, circleX, circleY
Flip
Until ImagesOverlap (gfxBox, boxX, boxY, 0, gfxCircle, circleX, circleY, 0)
Text 0, 0, "Kollision! Maustaste drücken"
Flip
WaitMouse()
EndGraphics
Siehe auch
ImageRectCollide, ImageRectOverlap, ImagesCollide, RectsOverlap

