Registriert seit: 31. Aug 2005
1.622 Beiträge
FreePascal / Lazarus
|
Re: [Andorra] - Player Springen Funktion einbauen.
11. Nov 2009, 21:09
Betrachte dir mal die Funktionen "Collision" und "DoCollision": Damit bekommst du es automatisch mit, wenn eine Kollision mit einem anderen Objekt stattfindet.
Beispiel (nur als Gedankenanstoß verwenden):
Delphi-Quellcode:
type
TMySprite = class(TSprite)
private
FHasCollision: boolean;
protected
procedure DoCollision(Sprite: TSprite; var Done: boolean);override
procedure DoMove(TimeGap: Double);override;
end;
[...]
procedure TMySprite.DoMove(TimeGap: Double);override;
begin
//Bewege die Figur...
//Prüfe auf Kollisionen
FHasCollision := false;
Collision;
if FHasCollision then
begin
//Mache die Bewegung rückgängig
end;
end;
procedure TMySprite.DoCollision(Sprite: TSprite; var Done: boolean);override;
begin
if Sprite is TWall then
FHasCollision = true;
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
|