Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
Delphi 10.2 Tokyo Professional
|
[DelphiX] GetSpriteAt ungenau? JA! und zwar deswegen: ...
9. Jul 2006, 11:51
Hi,
Wer sich schon immer gefragt hat warum GetSpriteAt nicht richtig funktioniert:
Delphi-Quellcode:
function TSprite.GetSpriteAt(X, Y: Integer): TSprite;
procedure Collision_GetSpriteAt(X, Y: Double; Sprite: TSprite);
var
i: Integer;
X2, Y2: Double;
begin
if Sprite.Visible and PointInRect(Point(Round(X), Round(Y)), Bounds(Round(Sprite.X), Round(Sprite.Y), Sprite.Width, Sprite.Width)) then // Was fällt euch in dieser if-Abfrage auf ??!! -.-^^
begin
if (Result=nil) or (Sprite.Z>Result.Z) then
Result := Sprite;
end;
X2 := X-Sprite.X;
Y2 := Y-Sprite.Y;
for i:=0 to Sprite.Count-1 do
Collision_GetSpriteAt(X2, Y2, Sprite.Items[i]);
end;
var
i: Integer;
X2, Y2: Double;
begin
Result := nil;
X2 := X-Self.X;
Y2 := Y-Self.Y;
for i:=0 to Count-1 do
Collision_GetSpriteAt(X2, Y2, Items[i]);
end;
Und? Klingelts ?
Wenn man sowas wie DelphiX programmiert dann sollten aber so grobe Fehler nicht passieren find ich
Gruß
NeutralGeneral
Michael
|
|
Zitat
|