Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#329

Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]

  Alt 20. Okt 2007, 12:42
Hallo,

ersetzte mal die Funktion "TSprite.GetCollisionField" durch die Folgende:
Delphi-Quellcode:
function TSprite.GetCollisionField: TRect;
var r:TRect;
begin
  r := GetFieldCoords;

  result.Left := r.Left - 1;
  if result.Left < Engine.SpriteField.StartX then
  begin
    result.Left := FEngine.SpriteField.StartX;
  end;

  result.Top := r.Top - 1;
  if result.Top < Engine.SpriteField.StartY then
  begin
    result.Top := FEngine.SpriteField.StartY;
  end;

  result.Right := r.Right + 1;
  if result.Right > Engine.SpriteField.EndX - 1 then
  begin
    result.Right := FEngine.SpriteField.EndX - 1;
  end;

  result.Bottom := r.Bottom + 1;
  if result.Bottom > Engine.SpriteField.EndY - 1 then
  begin
    result.Bottom := FEngine.SpriteField.EndY - 1;
  end;
end;
Dann läuft es - das "-1" hat gefehlt. Ich werde da aber mal nochmal genauer nachschauen, ob "EndX/Y" nicht generell 1 kleiner sein sollte.

Zu deinem Spiel: Echt Klasse! Weiter so!
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat