Beschreibung | ||||||||||||||||||||||||
Diese Funktion prüft zwei Bilder auf pixelgenaue Kollision. Dies ist besonders für Objekte mit transparenter Farbe gut geeignet. Das Prüfen geschieht pixelgenau, aber mit einer relativ langsamen Geschwindigkeit. Ist eine so hohe Genauigkeit nicht notwendig, so sollte besser IMAGERECTOVERLAP oder IMAGESOVERLAP verwendet werden. Benutze MASKIMAGE, um eine transparente Farbe auszuwählen!![]() | ||||||||||||||||||||||||
Parameter | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
Rückgabewert | ||||||||||||||||||||||||
0 = keine Kollision 1 = Kollision | ||||||||||||||||||||||||
Beispiel | ||||||||||||||||||||||||
Dieses Programm zeichnet einen Kreis. Wenn dieser Kreis einen Rechteck berührt, dann wird das Programm gestoppt: GRAPHICS 640,480,16 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 IMAGESCOLLIDE (gfxBox,boxX,boxY,0,gfxCircle,circleX,circleY,0) TEXT 0,0, "Kollision! Maustaste drücken" FLIP WAITMOUSE() ENDGRAPHICS | ||||||||||||||||||||||||
Siehe auch | ||||||||||||||||||||||||
IMAGERECTCOLLIDE, IMAGERECTOVERLAP, IMAGESOVERLAP, RECTSOVERLAP |