Ich glaub worum es geht ist diese procedur:
Delphi-Quellcode:
procedure TForm1.Idle(Sender: TObject; var Done: Boolean);
begin
done := false;
if Gettickcount-LastStep > 1 then // = <1> Schritte pro millisekunde
begin
if unten then
if y+H < ClientHeight-10 then
begin
y := y+StepWidth;
Repaint;
end;
if oben then
if y >= ClientHeight-470 then
begin
y := y-StepWidth;
Repaint;
end;
if unten1 then
if y1+H < ClientHeight-10 then
begin
y1 := y1+Stepwidth;
Repaint;
end;
if oben1 then
if y1 >= ClientHeight-470 then
begin
y1 := y1-StepWidth;
Repaint;
end;
if (Ellipsex2 >= ClientHeight-470) or (Ellipsex3 >= ClientHeight-470) then begin
Ellipsex2:= Ellipsex2+Geschwx4;
Ellipsex3:= Ellipsex3+Geschwx4;
Repaint;
end;
if (Ellipsey2 >= ClientHeight-10) or (Ellipsey3 >= ClientHeight-10) then begin
Ellipsey2:= Ellipsey2+Geschwy4;
Ellipsey3:= Ellipsey3+Geschwy4;
Repaint;
end;
Ellipsex2 := Ellipsex2 + 3;
Ellipsey2 := Ellipsey2 + 3;
Ellipsex3 := Ellipsex3 + 3;
Ellipsey3 := Ellipsey3 + 3;
// wenn oben oder unten angekommen soll er Richtung wechseln
if (Ellipsey2 <= 0 ) or (Ellipsey2 >= Form1.ClientHeight) or (Ellipsey3 <= 0 ) or (Ellipsey3 >= Form1.ClientHeight) then
begin
Ellipsey2 := -Ellipsey2;
Ellipsey3 := -Ellipsey3;
end;
//wenn rechts oder links angekommen soll er Richtung Richtung wechseln
if (Ellipsex2 <= 0 ) or (Ellipsex2 >= Form1.ClientWidth) or (Ellipsex3 <= 0 ) or (Ellipsex3 >= Form1.ClientWidth) then
begin
Ellipsex2 := -Ellipsex2;
Ellipsex3 := -Ellipsex3;
end;
end;
LastStep := gettickcount;
end;
Ach übrigens die oberen y werte sind von den schlägern.
Und hier die Vereinbarung:
Delphi-Quellcode:
const
H = 90;
B = 15;
StepWidth = 10;
Geschwx4 = 3;
Geschwy4 = 3;
implementation
{$R *.dfm}
function KeyPressed(Key: Integer): Boolean;
begin
KeyPressed := (GetAsyncKeyState(Key) and $8000 <> 0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnIdle := Idle;
x := 30;
y := 100;
x1 := 500;
y1 := 100;
doublebuffered := true;
Ellipsex2 := 250;
Ellipsey2 := 260;
Ellipsex3 := 270;
Ellipsey3 := 280;
Timer1.Enabled := True;
end;
Ich hoffe das man jetzt mehr rauslesen kann.
Lebe so wie du willst und programmiere so wie du willst, aber du trägst die Verantwortung.