| Beschreibung | ||||||||||||||||||||||||
Diese Funktion überprüft, ob ein Bild einen rechteckigen Bereich berührt oder überlappt. Dies ist besonders für Objekte mit transparenter Farbe gut geeignet. Die Prüfung geschieht pixelgenau - daher etwas langsamer als IMAGERECTOVERLAP. Um die Kollision zwischen zwei Bilder zu prüfen, ist der Befehl IMAGESCOLLIDE besser. Benutze MASKIMAGE, um eine transparente Farbe auszuwählen! Diese Grafik zeigt eine saubere, pixelgenaue Kollision, die mit dieser Funktion ermittelt werden kann. | ||||||||||||||||||||||||
| 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,0,1 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 IMAGERECTCOLLIDE (gfxCircle,circleX,circleY,0,hotX,hotY,hotW,hotH) TEXT 0,0, "Kollision! Maustaste drücken" FLIP WAITMOUSE() ENDGRAPHICS | ||||||||||||||||||||||||
| Siehe auch | ||||||||||||||||||||||||
| IMAGERECTOVERLAP, IMAGESCOLLIDE, IMAGESOVERLAP, RECTSOVERLAP |