Hi. Ich habe ein Problem: Ich möchte in einem image ein simpel gezeichnetes schiff nach rechts unten bewegen. dazu benutz ich nen timer...irgendwie klappt das aber alles nicht und er zeichnet nur unten nen komischen kreis, der eigentlich nicht der figur des schiffes entspricht
.
Hier der Code:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
while (b<300) do
begin
a:=a+1;
b:=b+1;
c:=b+1;
d:=d+1;
e:=e+1;
f:=f+1;
g:=g+1;
h:=h+1;
Mitte1:=(a+g) div 2;
Mitte2:=(d+h) div 2;
x:=strtoint(edit2.text);
y:=x*((c-g)div(d-h));
with paintbox1.canvas do
begin
rectangle (-1,-1,1000,1000);
arc (a,a,b,b,c,d,e,f);
MoveTo (c,d);
lineto (g,h);
MoveTo (Mitte1,Mitte2);
lineto (Mitte1+x, Mitte2-y);
end;
end;
end;
Die Anfangsvariabeln des (funktionierenden) einmasters sind folgende:
Delphi-Quellcode:
a:=10; //Anfangswerte des Rechtecks
b:=80; //Endpunkte des Rechtecks
c:=10; //Ellipsenbegrenzungslinie nach links
d:=40; // -"-
e:=80; //Ellipsenbegrenzungslinie nach rechts
f:=60; // -"-
g:=75; //Endpunkt 1 der Ellipsenrandlinie (Linie des Decks)
h:=59; //Endpunkt 2 der Ellipsenrandlinie (Linie des Decks)