Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

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

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL

  Alt 26. Sep 2007, 19:57
Diese Fälle musst du bei der Kollisionsürpfung eben alle abfangen - da kann dir Andorra 2D nicht helfen. In meinen Spielen habe ich das folgendermaßen gemacht:
Delphi-Quellcode:
TCollisionEdge = (ceLeft, ceTop, ceRight, ceBottom);
TCollisionEdges = set of TCollisionEdge;

procedure DoMove(timegap:double);
begin
  CollisionEdges := [];

  Collision;

  if ceTop in CollisionEdges then ...
end;

procedure DoCollision(Sprite:TSprite; var Done:boolean);
begin
  wenn kollision dann
    wenn oben then CollisionEdges := CollisionEdges + [ceTop];
    wenn unten then CollisionEdges := CollisionEdges + [ceBottom];
    .
    .
    .
end;
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