Folgende Funktion ermittelt, ob 2 Punkte näher als ein bestimmter Abstand sind.
Der Abstand (Squaredist) muss in quadrierter Form übergeben werden.
(3 Pixel Abstand => Squaredist = 9)
Delphi-Quellcode:
function Kollision(A, B : TPoint; Squaredist:integer):boolean;
var
x,y : integer;
begin
x := A.x-B.x;
y := A.x-B.x;
result := ((x*x)+(y*y) <= Squaredist);
end;
Nachtrag: komplett auf Integerarithmetik umgestellt