Ich will ein Programm schreiben, wo ein Ball von links nach rechts und von rechts wieder nach links läuft!
Hier mal der Code den ich dazu geschrieben habe:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
type TForm1 = class(TForm) Shape1: TShape; Timer1: TTimer; Timer2: TTimer; procedure FormActivate(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Timer2Timer(Sender: TObject); private public end;
var Form1: TForm1; dx: Integer; implementation
{$R *.DFM}
procedure TForm1.FormActivate(Sender: TObject); begin Timer1.Enabled:=true; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin dx:=1; If Form1.Width-Shape1.Width<Shape1.Width then Begin Timer1.Enabled:=false; Timer2.Enabled:=true end else Shape1.Width:=Shape1.Width+dx
end;
procedure TForm1.Timer2Timer(Sender: TObject); begin dx:=1; If Shape1.Width-Form1.Width<Shape1.Width then Begin Timer2.Enabled:=false; Timer1.Enabled:=true end
else Shape1.Width:=Shape1.Width-dx end;
end. |
Das Programm lässt sich auch starten, aber es gibt zwei Probleme, aus denne ich nicht schlau werde:
1. Der Ball wird bei Programmstart sichtbar größer.
2. Der Ball läuft nur einmal nach rechts und das war es dann auch schon!
Wenn ihr Lösungsvorschläge habt, dann immer her damit. Thx