hi
Ich erstelle zur Laufzeit (OnKlick) ein Sprite:
Delphi-Quellcode:
TMySprite = class(TImageSpriteEx)
protected
procedure DoMove(TimeGap: double); override;
procedure DoDraw; override;
// procedure DoCollision(Sprite: TSprite; var Done: boolean); override;
public
Info: String;
procedure Klick;
procedure GetInfo(Sender: TObject; var Key: Char);
constructor Create(AParent: TSprite); override;
destructor Destroy; override;
end;
Delphi-Quellcode:
procedure TForm1.Set_Sprite( XX: Integer; YY: Integer; kind: string );
begin
with TMySprite.Create( Form1.SpriteEngine ) do
begin
X:= get_Location( XX - Form1.Left - 20 ) * 20 + ( 0 - SpriteEngine.X );
Y:= get_Location( YY - Form1.Top - 40) * 20 + ( 0 - SpriteEngine.Y );
Z:= 1;
Image:= ImageList.Find(kind);
Info:='1';
end;
end;
Ich müsste doch eigentlich wie folgt nachschauen können ob sich unter dem Cursor eine wie oben erstelle Sprite befindet:
Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
If SpriteEngine.GetSpriteAt(Mouse.CursorPos.x,Mouse.CursorPos.Y) = TMySprite then
showmessage('geht');
end;
Aber leider geht das nicht... Was soll ich tuen
MfG
Spiderpig