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.![]() | ||||||||||||||||||
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 IMAGESOVERLAP (gfxBox,boxX,boxY,gfxCircle,circleX,circleY) TEXT 0,0, "Kollision! Maustaste drücken" FLIP WAITMOUSE() ENDGRAPHICS | ||||||||||||||||||
Siehe auch | ||||||||||||||||||
IMAGERECTCOLLIDE, IMAGERECTOVERLAP, IMAGESCOLLIDE, RECTSOVERLAP |