Hey hab ein script damit kann ich laufen und springen möchte jedoch das er ein double jump kann wie mache ich das?bitte um hilfe danke?

...komplette Frage anzeigen script - (programmieren, Unity)

3 Antworten

Wenn du dir anschaust, wie das Jumping in dem Skript aufgebaut ist und funktioniert, sollte dir eigentlich schon eine Idee kommen, wie du das machen könntest. Du musst im Grunde nur eine neue Bedingung hinzufügen.

In dem Skript springt er nur, wenn er auf dem Boden ist (isGrounded), das ist die Bedingung, damit er springen kann. Wenn du nun Double Jump haben möchtest, musst du also irgendwie speichern, dass er nach einmal springen noch einmal springen darf. Das kommt in Update().

Das kann man dann mit einer einfachen Variable machen, die zählt, wie oft du gesprungen bist.

private int count = 0;
Update( 
if ( Input.GetKeyDown("Jump") && isGrounded || count < 2 ) {
jump = true;
++count;
}
)

Entsprechend musst du count noch zurücksetzen, wenn du wieder auf dem Boden bist.

Ich würde testen ob er in der Luft nocheinmal "Jump" drückt, wenn ja testen ob er nicht schon davor in der Luft gesprungen ist und dann einfach nocheinmal AddForce.

Also etwas in richtung:

if(Input.GetButtonDown ("Jump") && DoubleJump == 0)
{
//AddForce
DoubleJump = true;
}

Wenn er wieder auf dem Boden ist natürlich DoubleJump = false

und daraus sollen wir jetzt ermitteln was du brauchst ?

ich hoffe das ist eine scherz frage , oder glaubst du selbst das wenn ich dir 1 absatzz aus einem buch vorlese du auf das kapitel schliessen kannst ?

also wirklich , so kann nicht mal meine glaskugel helfen .


und wenn postet man das bei pastebin ... bissel mal drüber nachdenken was du leuten zumutest


Heacien 02.07.2017, 15:35

Stimmt schon, deswegen habe ich versucht ihm einem Tipp zu geben :)

1

Was möchtest Du wissen?