Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
Delphi XE3 Enterprise
|
AW: Kollisionsabfrage Vieleck mit Kreis
1. Jan 2011, 17:03
Exemplarisch ....
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
FigReg,CircleReg:HRGN;
begin
Figure1[0].X := 0;
Figure1[0].Y := 0;
Figure1[1].X := 50;
Figure1[1].Y := 0;
Figure1[2].X := 50;
Figure1[2].Y := 50;
Figure1[3].X := 25;
Figure1[3].Y := 75;
Figure1[4].X := 0;
Figure1[4].Y := 50;
FigReg := CreatePolygonRgn(Figure1,5,WINDING);
CircleReg := CreateEllipticRgn(30,30,100,100);
//CircleReg := CreateEllipticRgn(80,80,100,100);
if not (CombineRgn(FigReg,FigReg,CircleReg,RGN_AND)=NULLREGION)
then Showmessage('Collision');
SetWindowrgn(Panel1.Handle,FigReg,true); // Anzeige des Ergebnisses
Deleteobject(FigReg);
Deleteobject(CircleReg);
end;
Thomas Wassermann H₂♂ Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂♂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
|
|
Zitat
|