Zitat von
Denny:
.... Der Ball fliegt jedoch immernoch Kurven, weil im ständig neue Werte übermittelt Werten. ...
Hai Denny,
überlege einmal was passiert wenn
TForm1.tmrBall2Timer aufgerufen wird und
Richtung den Wert 1 hat.
Delphi-Quellcode:
procedure TForm1.tmrBall2Timer(Sender: TObject);
begin
// Randomize;
if Richtung = 0 then // Wird bei Richtung = 1 nie aufgerufen
begin
Richtung := Random(2);
RWeite := Random(5);
end;
Ball.Top := Ball.Top - Tempo; // Der Ball fällt immer um "Tempo" Pixel nach unten
if Richtung = 0 then
ball.Left := ball.Left - Rweite
else
ball.Left := ball.Left + Rweite; // Der Ball wird um Rweite Pixel nach rechts bewegt
end;
Du hast also eine gleichzeitige Bewegung nach unten und nach rechts. Und das ist dann halt eine Kurve.
Stephan B.