![]() |
Fallen oder nicht Fallen...
Liste der Anhänge anzeigen (Anzahl: 3)
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:
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
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; Könnt ihr mir da vielleicht bisschen helfen? Gruß Neutral General |
Re: Fallen oder nicht Fallen...
wär es nicht besser, wenn du den impuls der spielfigur speicherst?
sobald du nicht auf dem boden stehst wird der impuls immer größer richtung erde. wenn du wo dagegenstößt wird der impuls 0. beim abspringen gibst du ihm einen impuls nach oben und der rest geht dann von allein( wenn du die kollisionsabfrage und erdbeschleunigung programmiert hast...) ist nur so ne idee... |
Re: Fallen oder nicht Fallen...
Das hört sich gut an aber ich weiß nicht genau wie ich das machen soll :|
Kannst du mir das vielleicht noch bisschen genauer erklären oder/und ein kleines Beispiel machen? :) Gruß Neutral General |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz