Habe einen Ball
Delphi-Quellcode:
TBall = class(TImageSprite)
public
procedure DoMove(MoveCount: Integer); override;
constructor Create(AParent: TSprite ); override;
procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
end;
Und mehrere Steine der Klasse Bricks
Delphi-Quellcode:
TBricks = class(TImageSprite)
public
end;
...
var
Form1:TForm1;
Brick: array[1..8,1..5] of TBricks;
Es werden mehrere Bricks erzeugt (40 Stück):
Delphi-Quellcode:
for i... blabla for j.. to etc.
Brick[i,j]:= TBricks.Create(DXSpriteEngine1.Engine);
with Brick[i,j] do
begin
Image := Form1.DXImageList1.Items[j+6];
Width := Image.Width;
Height := Image.Height;
Visible := True;
x:= (i-1)*75;
y:=50+(j-1)*15;
end;
Und ich möchte, dass bei einer Kollision des Balles mit einem bestimmten Brick bspw. Brick[3,5] genau was nur für 3,5 bestimmtes passiert.
Nun kenn ich aus Tutorials und aus der Praxis nur die Anwendung, dass man die Kollisions des Balls mit einer Komponente aus der gesamten Klasse überprüfen kann:
Delphi-Quellcode:
procedure TBall.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
if sprite is TBricks then
begin
beep;
dead;
end;
end;
Wie kann ich es aber nur für Brick[x,y] machen anstatt für if sprite is TBricks?? Hoffe mir kann jemand weiterhelfen, danke schonmal!