Hi,
ich hab naja etwas ähnliches mal gemacht, mit Kolissionen usw, ich habe ein Panel in dem alles ist, einmal das XHandle, ist das Panel was bei dir sozusagen die kugel ist, und dann check ich alle componenten in dem Panel, ob diese mit der "Kugel" kollidieren, evtl bringt dir das was:
Delphi-Quellcode:
var
collision : Boolean;
XCol : Integer;
begin
for i := 0 to Panel1.ControlCount -1 do begin
IF RectInRegion(CreateRectRgn(XHandle.Left, XHandle.Top, XHandle.Width+Xhandle.Left, XHandle.Height + XHandle.Top), Panel1.Controls[i].BoundsRect) and (Panel1.Controls[i].Name <> XHandle.Name) then begin
XCol := Panel1.Controls[i]; //componentnumber von panel das kollidiert
Collision := True;
Break;
end;
end;
//Collision detected
if Collision then begin
end;
end;