Ich baue einen unendlichen 2D-Läufer. Im Spiel werden Charaktersprünge von Säule zu Säule und Säulen nach dem Zufallsprinzip generiert. Ich habe diese Arbeit. Aber wie kann man feststellen, ob der Charakter nicht auf eine Säule gesprungen ist und in die Lücke zwischen den Säulen gefallen ist? Eine Säule hat eine gewöhnliche rechteckige Form.
12
Antworten:
Fügen Sie am unteren Rand der Ebene einen rechteckigen Bereich hinzu, der niedriger ist als die minimal zulässige Höhe einer Plattform. Wenn der Spieler diese Region durchquert hat, ist er von einer Plattform gefallen.
quelle
if (playerPos.x < minHeight)
?Wenn Ihr Spiel nur horizontal scrollt, können Sie überprüfen, ob sich die vertikale Position des Charakters unter dem unteren Rand der Bühne befindet.
Wenn Ihr Spiel auch vertikal rollt (wahrscheinlich nach oben), können Sie prüfen, ob der Spieler den unteren Rand der Ansicht (dh den Bereich der Bühne, der auf dem Bildschirm angezeigt wird, oder den Fokus der Kamera) unterschritten hat.
Im Allgemeinen liegt der Todeszustand vor, wenn der Charakter nicht "in der Kamera" bleibt. Indem Sie die Bewegung Ihrer Kamera steuern, können Sie Ihr Gameplay optimieren. Wenn Sie zum Beispiel in einer vertikalen Bildlaufphase Ihrer Kamera nur erlauben, ein wenig nach unten zu "gummieren", während Sie die volle Aufwärtsbewegung zulassen, werden Sie tiefe Stürze außerhalb des Bildschirms bestrafen.
quelle
Alternativ zur Überprüfung der vertikalen Koordinate können Sie auch die vertikale Geschwindigkeit überprüfen. Wenn das Zeichen nach unten schneller als eine bestimmte Schwelle fallen, schließen sie tot sind (auch wenn es ist noch erreichen einige Plattform niedrig genug, würde die Wirkung tödlich sein).
Dies funktioniert natürlich nur, wenn Ihr Spiel die grundlegende Freifallphysik ordnungsgemäß implementiert, dh die Abwärtsgeschwindigkeit steigt tatsächlich während des Falles an, wie dies in der Realität der Fall ist (bis zur Endgeschwindigkeit).
quelle
Wenn Sie eine Pfeilerhöhe haben, können Sie die niedrigste vorhandene finden und diese mit der vertikalen Position des Spielers vergleichen. Befindet er sich unter der untersten Säule, besteht keine Chance, dass er zurückkommt. Sie können diesen Check nur auf Säulen hinter und vor dem Player beschränken.
Beispiel: Wir haben 3 Säulen mit Höhen [10, 20, 40]. Der gesprungene Spieler steht auf der Säule mit der Größe 40, er springt nach vorne auf 20. Er spürte eine Lücke zwischen 40 und 20, er ist jetzt auf der Größe 15. Das heißt, er spürt. Warten Sie für eine weniger strenge Überprüfung, bis er unter 10 ist.
quelle
Zählen Sie, wie lange ein Charakter gefallen ist. (dh wie lange sie sich "nach unten" bewegt haben). Sobald sie mehr als eine Zeit lang gefallen sind, sind sie per Definition von der Bühne gefallen, ja?
quelle