hier habe ich letzten ein code geschrieben(abgeschrieben aus einem buch und leicht angepasst):
Delphi-Quellcode:
for i:=0 to High(obj) do begin
with obj[i] do begin
xWeg:=zx-px; yWeg:=zy-py;
strecke:=Sqrt(Sqr(xweg)+Sqr(yweg));
schritte:=Strecke /1;
xdiff:=Xweg / Schritte; ydiff:=yweg / Schritte;
if zx < px then begin
px:=Round(px+xDiff);
end
else
isx:=True;
if zy < py then begin
py:=round(py + yDiff);
end
else
isY:=True;
if (isx = true) and (isy= true) then begin
Spray(DXDraw1.Surface.Canvas,round(px),round(py),20,clred);
DXDraw1.Surface.Canvas.Release;
end;
DXImagelist1.Items[0].Draw(dxdraw1.Surface,round(px),round(py),0);
end;
end;
da bei jedem durchlauf die position um die angeben xdiff und ydiff werte erhört nur ich weiß leider nicht wie ich das um setzten könnte... weil eine schleife wollte ich eigetnlich nicht starten !
und gewisse tolleranzen würde ich auch gut finden !