Hmm gut, ich weiß jetzt nicht, was lbll.Caption ist,
aber zumindest bewegt sich das Ding jetzt nicht immer in gewissen Abständen nach unten, sondern auf Grund der Schleife im Prinzip sofort.
Das ganze muss schon über nen Timer laufen.
Ich hatte mal eine Art Moorhuhnjagd gebaut und das ist ja das selbe wie bei dir, nur in ner anderen Richtung etc.
Auszug:
Delphi-Quellcode:
procedure Tformmain.timertargetTimer(Sender: TObject);
begin
if timeleft<=0 then
begin
timertarget.Enabled:=False;
timertimeleft.Enabled:=False;
labeltimeleftamount.Caption:=inttostr(timeleft);
end;
if target1.left<=-30 then
begin
target1.left:=850;
target1.top:=random(470)+5;
end
else
target1.left:=target1.left-2;
if target2.left<=-30 then
begin
target2.left:=850;
target2.top:=random(470)+5;
end
else
target2.left:=target2.left-2;
if target3.left<=-30 then
begin
target3.left:=850;
target3.top:=random(470)+5;
end
else
target3.left:=target3.left-2;
end;
die Targets und Richtungen etc. müsstest du natürlich ersetzen.
Und dann musste noch etwas einbauen, dass neue Objekte oben erstellt und die alten unten löscht.
Alternativ kannste auch die, die unten angekommen sind, nach oben bewegen und neu fallen lassen.
Edit: 'n Paar Rechtschreib- und Grammatikfehler behoben