Код: Выделить всё
procedure TForm1.PObjCollision(var Base:LineObject; Sec:LineObject);
var i,ii:integer; max:real; //max - дальняя сталкивающаяся точка по движению
begin
if Base.ObjAng>0 then max:=-100;
if Base.ObjAng<0 then max:=Image1.Width;
for i:=1 to Base.ObjLimDot do
for ii:=1 to Sec.ObjLimDot do begin
if ((round(Base.Obj[i].x)=round(Sec.Obj[ii].x))and(Base.Obj[i].y>=Sec.Obj[ii].y)) then begin
if Base.ObjAng>0 then
if Base.Obj[i].x>max then begin //приоритет дальн точ (по правой)
max:=Base.Obj[i].x;
Base.ObjRotateDot:=i;
end;
if Base.ObjAng<0 then
if Base.Obj[i].x<max then begin //приоритет дальн точ (по левой)
max:=Base.Obj[i].x;
Base.ObjRotateDot:=i;
end;
end;
end;
end;