Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if imgcartman.Top = -100 then
begin
timer2.enabled := true;
timer1.Enabled := false;
end
else
begin
repeat
Imgcartman.Top := Imgcartman.top -5;
until (imgcartman.Top = -100);
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if imgcartman.Top >= 100 then
begin
imgcartman.Top:=100;
timer2.enabled := false;
end
else
begin
repeat
imgcartman.Top := imgcartman.Top +5;
until (imgcartman.Top = 100);
end;
end;
Schau mal, so ist es gelich viel lesbarer und tut auch garnicht mehr in den Augen weh
Ich glaube dein Problem ist, dass du hier von ideen und Möglichkeiten überhäuft wirst und du das alles garnicht so schnell verstehen kannst. So wie oben kann es nicht Funktionieren.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if imgcartman.Top <= -100 then
begin
timer2.enabled := true;
timer1.Enabled := false;
end
else
begin
Imgcartman.Top := Imgcartman.top -5;
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if imgcartman.Top >= 100 then
begin
imgcartman.Top:=100;
timer2.enabled := false;
end
else
begin
imgcartman.Top := imgcartman.Top +5;
end;
end;
SO ist es besser. Dafür, dass der Code mehrmals ausgeführt wird, sind die TImer ja schon da. Dann brauchst du auch keine repeat..untils mehr. Außeerdem kann es ja sein dass Top deines Images zb 2 ist, dann kommt der bei schrittweisem decrimentieren von 5 niemals auf 100.