- unit mScheibe;
- interface
- {**********************Module****************************}
- uses Forms, Graphics, ExtCtrls;
- {**********************Klassendeklaration****************}
- type Tscheibe = class(Tobject)
- {**********************Private-Deklaration***************}
- private zxM,zyM,zrad: integer;
- kFenster: TForm;
- tiTimer: TTimer;
- procedure Zeichnen; virtual;
- procedure Bewegen(sender: TObject);virtual;
- procedure Loeschen;virtual;
- {**************************Public-Deklaration*********************************}
- public
- constructor Create(xM,yM, Rad: Integer; fenster: TForm); virtual;
- destructor destroy; override;
- procedure steigen; virtual;
- function GibYpos:integer;
- function Xpos:integer;
- function radius:integer;
- procedure anhalten;virtual;
- end;
- implementation
- constructor tscheibe.Create(xM: Integer; yM: Integer; Rad: Integer; fenster: TForm);
- begin
- inherited Create;
- zxM:= xM;
- zyM:= yM;
- zRad:= rad;
- kFenster:= fenster;
- TiTimer:=TTimer.Create(kfenster);
- TiTimer.Enabled:=false;
- Titimer.Interval:= 20;
- TiTimer.OnTimer:=bewegen;
- end;
- procedure tscheibe.zeichnen;
- begin
- with kfenster.Canvas do begin
- pen.Color:= clblack;
- ellipse(zxm+zrad,zym-zrad,zxm-zrad,zym+zrad);
- end;
- end;
- procedure tscheibe.Loeschen;
- begin
- with kfenster.Canvas do begin
- pen.Color:=clbtnface;
- ellipse(zxm+zrad,zym-zrad,zxm-zrad,zym+zrad);
- end;
- end;
- destructor tscheibe.destroy;
- begin
- inherited destroy;
- TiTimer.enabled:=false;
- loeschen;
- end;
- procedure tscheibe.Bewegen(Sender: Tobject);
- begin
- loeschen;
- if ZyM+zrad>0 then
- zyM:=Zym-2 else
- ZyM:= zym+kfenster.height+zrad;
- zeichnen;
- end;
- procedure tscheibe.steigen;
- begin
- TiTimer.Enabled:=true;
- end;
- function TScheibe.GibYpos;
- begin
- GibYpos:=zyM;
- end;
- function Tscheibe.Xpos;
- begin
- Xpos:=zxm;
- end;
- function tscheibe.radius;
- begin
- radius:=zrad;
- end;
- procedure tscheibe.anhalten;
- begin
- TiTimer.Enabled:=false;
- end;
- end.