Hi,
Ich verusche grad mit Igel457s Andorra2D Engine ein kleines Spiel zu programmieren. Hab nen Spieler den ich mit Pfeiltasten + Space (Springen) steuere.. Es soll so ne Art Jump'n'Run Spiel werden aber mein Problem ist gerade das ich halt programmiert habe das wenn der Spieler fällt und auf Boden trifft er aufhört zu fallen... Naja das Problem ist nur wie mache ich das wenn der spieler von einer Klippe runterspringt und dann nach links steuert? Dann läuft mein Spieler in die Wand rein... Ich bekomm das irgendwie nicht wirklich hin-.-
Delphi-Quellcode:
procedure TTestSprite.DoCollision(Sprite: TSprite; var Done: boolean);
begin
inherited DoCollision(Sprite,Done);
if (Sprite is TWall) then
begin
Jumping := false;
t1 := 0; // für den Fall ...hier nicht wichtig
Falling := false; // aufhören zu fallen wenn man auf ne Wand trifft
// dummerweise halt auch wenn man grad im Flug war und die Wand rechts im Flug berührt
end
else
if not Falling then // Keine Kollision und man fällt nicht? => Jetzt schon
Falling := true;
end;
Hab auch schon Bedingugen aufgestellt mit Hilfe von Self.BoundsRect und Sprite.Boundsrect aber entweder bin ich dafür zu blöd oder es geht nicht wirklich.. Bzw für eine Seite hab ichs hinbekommen.. Als ich die zweite hinzugefügt hab ging die erste nichtmehr.. ka
Könnt ihr mir da vielleicht bisschen helfen?
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."