Forum: Multimedia
Delphi
by Spiderpig_GER_15,
13. Nov 2008
Wenn ich schon was zu Sprites und auswählen gefragt hab, könnt ihr mir vielleicht ein weiteres Mal helfen?:
TMySprite = class(TImageSpriteEx)
protected
procedure DoMove(TimeGap: double); override;
procedure DoDraw; override;
// procedure DoCollision(Sprite: TSprite; var Done: boolean); override;
public
Info: String; // <=== Da will ich drauf zu greifen wenn ich...
Forum: Multimedia
Delphi
by Spiderpig_GER_15,
13. Nov 2008
Lala, sorry :oops: :oops:
Es lag daran das die Koordinaten nicht auf Fenster umgerechnet waren.
Jetzt geht es:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Forum: Multimedia
Delphi
by Spiderpig_GER_15,
13. Nov 2008
hier ist der Quelltext der Funktion GetSpriteAt():
function TSprite.GetSpriteAt(X, Y: integer): TSprite;
var i:integer;
rect:TAdRect;
begin
result := nil;
for i := Items.Count - 1 downto 0 do
begin
Forum: Multimedia
Delphi
by Spiderpig_GER_15,
13. Nov 2008
Also, wenn ich das einfach so schreibe:
If SpriteEngine.GetSpriteAt(Mouse.CursorPos.x,Mouse.CursorPos.Y) <> nil then
begin
showmessage('geht');
end;
geht das erstmal Blindalrarm los wegen dem meinem Backgroundsprite.
Forum: Multimedia
Delphi
by Spiderpig_GER_15,
13. Nov 2008
also eigentlich dürfe sich nichts verschoben haben, ich probier mal <> aus. einen Moment ;)
Forum: Multimedia
Delphi
by Spiderpig_GER_15,
13. Nov 2008
okay, danke, jetzt ist der fehler weg und das programm lässt sich starten, aber die meldung wird nicht ausgelöst wenn sich so ein sprite unter dem cursor befindet
Forum: Multimedia
Delphi
by Spiderpig_GER_15,
13. Nov 2008
If SpriteEngine.GetSpriteAt(Mouse.CursorPos.x,Mouse.CursorPos.Y) = >>>TMySprite<<< then
TMySprite wird nicht angenommen (incompatible types)
aber ich weiß nicht was da stattdessen hinsoll ?!
Forum: Multimedia
Delphi
by Spiderpig_GER_15,
13. Nov 2008
hi
Ich erstelle zur Laufzeit (OnKlick) ein Sprite:
TMySprite = class(TImageSpriteEx)
protected
procedure DoMove(TimeGap: double); override;
procedure DoDraw; override;
// procedure DoCollision(Sprite: TSprite; var Done: boolean); override;