Einzelnen Beitrag anzeigen

Kytrix

Registriert seit: 26. Nov 2007
54 Beiträge
 
#1

Pixelgenau Kollision zwischen kreisen & Rechtecken

  Alt 16. Sep 2008, 12:45
Hi, also ich erstelle Kreise und Rechtecke auf meiner Form.

Kreis
Delphi-Quellcode:
procedure TKreis.Zeichnen(XPos, YPos, Größe, pR, pG, pB,
                            bR, bG, bB: Integer);
begin
  SelectObject(DC,GetStockObject(DC_BRUSH));
  SetDCBrushColor(DC, RGB(bR, bG, bB));
  SelectObject(DC,GetStockObject(DC_PEN));
  SetDCPenColor(DC, RGB(pR, pG, pB));
  Ellipse(DC, XPos, YPos, XPos+Größe, YPos+Größe);
end;
Rechteck
Delphi-Quellcode:
procedure TRecheck.Zeichnen(XPos, YPos, Größe, pR, pG, pB,
                            bR, bG, bB: Integer);
begin
  SelectObject(DC,GetStockObject(DC_BRUSH));
  SetDCBrushColor(DC, RGB(bR, bG, bB));
  SelectObject(DC,GetStockObject(DC_PEN));
  SetDCPenColor(DC, RGB(pR, pG, pB));
  Rectangle(DC, XPos, YPos, XPos+Größe, YPos+Größe);
end;
(Die kreise sind in Bewegeung)
nun möchte ich gerne erreichen dass wenn ein Kreis das Rechteck bzw auf die grünen Pixel trifft (Kreis und Rechteck überlappen) eine Meldung ausgegeben wird .... kurz gesagt eine Kollisionsabfrage realisieren ich habe jedoch keine ahnung wie.
Miniaturansicht angehängter Grafiken
unbenannt_738.gif  
  Mit Zitat antworten Zitat