Moin!
Dann scheint deine Variable Schwert keine Instanz zu beinhalten. Nimm daher doch einfach das übergebene Sprite, welches doch die Eigenschaft Visible schon bietet, oder?
Delphi-Quellcode:
procedure TSpieler.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
if sprite is TGegenstand then
begin
Form1.DXWaveList1.Items.Find('sound').Play(False);
dead;
Visible := false;
end;
if sprite is TSchwert then
begin
sprite.Visible := false;
end;
end;
Wenn nicht und erst TSchwert diese Property einführt, dann so:
Delphi-Quellcode:
procedure TSpieler.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
if sprite is TGegenstand then
begin
Form1.DXWaveList1.Items.Find('sound').Play(False);
dead;
Visible := false;
end;
if sprite is TSchwert then
begin
TSchwert(sprite).Visible := false;
end;
end;
MfG
Muetze1