Hallo zusammen,
ich möchte bei der Mausberührung mit einem Sprite eine zusätzliche grafische Information in Form eines weiteren Sprites am Bildschirm anzeigen - befindet sich der Mauscursor nicht mehr auf dem Sprite soll die Zusatzinformation ausgeblendet werden.
Warum funktioniert folgender Code nicht?
CardSprite ist das Sprite, welches ein situationsabhängiges Bild zusätzlich anzeigt.
Delphi-Quellcode:
procedure TACard.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
inherited;
if Sprite is TCursorSprite then
begin
//beep;
frmMain.DXSCARD.Items.Clear;
frmMain.DXSCARD.Items.Add;
frmMain.DXSCARD.Items[0].Picture.loadfromfile(MYPFAD+fed+'\small\'+fnummer+'.jpg');
frmMain.DXSCARD.Items[0].Name:='scard';
frmMain.DXSCARD.Items.Restore;
CardSprite.Image :=frmMain.DXSCARD.Items.Find('scard');
CardSprite.Width:=90;
CardSprite.Height:=127;
CardSprite.X:=50;
CardSprite.Y:=300;
CardSprite.Visible:=true;
end
else
CardSprite.Visible:=false;
end;
Die Routine funktioniert bis auf das Ausblenden des CardSprites
Delphi-Quellcode:
else
CardSprite.Visible:=false;
wunderbar, denn nach einer ersten Collision ist CardSprite immer sichtbar. Es werden auch korrekt die Bilder geladen, nur bekomme ich, wenn sich die Maus
nicht über einem TACard-Objekt befindet, das Sprite nicht unsichtbar.
Gruß Kay