Beschreibung | |||||||||||||||||||||
Diese Funktion überprüft, ob ein Bild einen rechteckigen Bereich überlappt. 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 IMAGERECTCOLLIDE besser. Für die Kollision zwischen zwei Bildern, ist der Befehl IMAGESCOLLIDE notwendig.![]() | |||||||||||||||||||||
Parameter | |||||||||||||||||||||
| |||||||||||||||||||||
Rückgabewert | |||||||||||||||||||||
0 = keine Kollision 1 = Kollision | |||||||||||||||||||||
Beispiel | |||||||||||||||||||||
Dieses Programm zeichnet einen Kreis. Wenn dieser Kreis einen rechteckigen Bereich berührt, dann wird das Programm gestoppt: GRAPHICS 640,480,16 gfxCircle=CREATEIMAGE(50,50) SETBUFFER IMAGEBUFFER(gfxCircle) COLOR 255,0,0 OVAL 10,10,30,30,1 SETBUFFER BACKBUFFER() Color 0,0,255 hotX=RND(50,610) hotY=RND(50,430) hotW=RND(20,100) hotH=RND(20,100) REPEAT circleX=MOUSEX() circleY=MOUSEY() CLS RECT hotX,hotY,hotW,hotH,0 DRAWIMAGE gfxCircle,circleX,circleY FLIP UNTIL IMAGERECTOVERLAP (gfxCircle,circleX,circleY,hotX,hotY,hotW,hotH) TEXT 0,0, "Kollision! Maustaste drücken" FLIP WAITMOUSE() ENDGRAPHICS | |||||||||||||||||||||
Siehe auch | |||||||||||||||||||||
IMAGERECTCOLLIDE, IMAGESCOLLIDE, IMAGESOVERLAP, RECTSOVERLAP |