Einzelnen Beitrag anzeigen

ghostdawg
(Gast)

n/a Beiträge
 
#1

DelphiX Kollision nur mit Bestandteil(en) einer Klasse

  Alt 8. Jan 2006, 18:11
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!
  Mit Zitat antworten Zitat