So sieht die deklaration der Klasse aus (ist ein Beispiel, kann aber einfach erweitert werden):
Delphi-Quellcode:
TBall = class (TImageSprite)
private
Winkel: Extended;
public
constructor Create (AParent: TSprite); override;
procedure DoMove (MoveCount: Integer); override;
procedure DoCollision (Sprite:TSprite; var Done: Boolean); override;
end;
Im Konstruktor ordnest du z. B. das Image dem Sprite zu, initialisierst die Startposition und alles was es sonst noch braucht:
Delphi-Quellcode:
inherited Create (AParent);
Image := Form1.DXImageList1.Items.Find('Ball');
Width := Image.Width;
Height := Image.Height;
Winkel := 220;
X := 200;
y := 400;
Z := 0;
In der DoMove-Methode schreibst du alles rein, was mit der Bewegung des jeweiligen Sprites zutun hat (auch die Kollision mit dem Rand eines Spielfelds kommt da rein!).
Beispiel:
Delphi-Quellcode:
...
if isLeft in Form1.DXInput1.States then
X := X - xDiff;
....
Und in die DoCollision-Methode schreibst du alles rein, was mit der Kollision zutun hat. Folgendes Bsp. macht, dass wenn der Ball mit einem Gegenstand zusammen trifft er zerstört wird:
Delphi-Quellcode:
if Sprite is TGegenstand then
self.Dead;
Am besten du liest ein paar Tuts durch (sowohl zu den Klassen als auch zu DelphiX).