Ich habe nach einer Möglichkeit gesucht, Wall-Jump in meinem XNA-Spiel zu implementieren, aber ich kann keine Informationen dazu finden. Kann mir jemand bitte helfen?
xna
2d
c#
platformer
dbomb101
quelle
quelle
Ich hätte ehrlich gesagt nur einen Punktcheck gemacht. So:
Sie können das y ändern, um y + sprite_width / 2 (oder - abhängig von Ihrem Koordinatensystem) zu sagen, sodass es links von der Mitte Ihr Sprite anstelle des oberen (oder unteren) prüft. Auf diese Weise implementiert N Wandprüfungen für das Springen von Wänden (letzter Absatz) .
Danach müssen Sie entscheiden, wie eng Ihre Wand springen soll. Wenn die vertikale Geschwindigkeit Ihres Sprungs die horizontale Geschwindigkeit übersteigt, bevor der Spieler dieselbe Wand wieder erreichen kann, können Sie dieselbe Wand nicht mehr hochspringen und fallen nach und nach auf den Boden zurück (wie in Mario-Spielen mit dem Wandspringen) ). Wenn Sie zulassen, dass die Horizontale schwach genug ist, damit der Spieler wieder an die Wand zurückkehren kann, kann er die Wand nach oben rücken (wie in Meat Boy).
Ein anderer Ansatz, der nicht erwähnt wird, ist der von Super Metroid. Wenn Sie sich in diesem Spiel an einer Wand befinden und sich von dieser Wand entfernen, wird eine sehr kurze Animation abgespielt, in der Sie sich von der Wand entfernen. Wenn Sie während dieser Animation springen, machen Sie einen Wandsprung. (Super Metroid erlaubt es einem Spieler auch, mit Mauersprüngen eine Mauer hinaufzuklettern, erfordert jedoch ein wenig Geschicklichkeit (in der Tat erfordert alles, was mit Super Metroid zu tun hat, einiges an Geschicklichkeit ...).
quelle