Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

[DelphiX] GetSpriteAt ungenau? JA! und zwar deswegen: ...

  Alt 9. Jul 2006, 10: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
  Mit Zitat antworten Zitat