3D: Springen

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hi,

    ich bin gerade am Üben mit 3D Spielen und wollte wissen, wie man das mit dem Springen macht. Mit dem Definieren von der z-Achse hab ich Probleme.

    In einem Tread habe ich gelesen, dass man das inst Step Event:

    GML-Quellcode

    1. grav = 0.2;
    2. zprevious = z;
    3. z += zspeed;
    4. zspeed -= grav;


    und das ist Event der Taste (Space):

    GML-Quellcode

    1. zspeed = 10;


    kommt.

    Wie genau ich das wirklich machen muss verstehe ich nicht. Kann mir jemand mit dem Sprung helfen?
  • Also, das Step Event solltest du wie folgt verändern:

    GML-Quellcode

    1. grav = 0.2;
    2. zprevious = z;
    3. z += zspeed;
    4. zspeed -= zgrav
    5. if zspeed < -5 // Maximale Fallgeschwindigkeit
    6. {
    7. zspeed = -5
    8. }
    9. if z < 0 //Check, ob das Objekt auf dem Boden steht, damit es nicht in diesem versinkt.
    10. {
    11. z = 0
    12. }
    Alles anzeigen


    Und das Space Event

    GML-Quellcode

    1. if z = 0 // Das Objekt ist auf dem Boden
    2. {
    3. zspeed = 10
    4. }


    So. Ich hoffe, ich konnte dir helfen
  • 8| Ja, eigentlich bin ich schon davon ausgegangen, dass du die absoluten Basics drauf hast,
    wenn du dich an 3D ranwagst... *Nörgel*

    Die Bedeutung von -= ist, dass etwas von einer Variable
    abgezogen werden soll, nicht, dass es definiert werden soll.

    Definiere die Variablen, dann ist alles gut...

    EDIT:
    |
    |
    V
    @SmiaGOLD:
    Das Einzige, was du verändert hast ist, dass du die Variable "springen" hinzugefügt hast, die eigentlich nichts bringt :|

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Mr. Diesel ()

  • :rolleyes: Ich habs jetzt anders gemacht und es klappt.

    Für Leute dies interessiert:
    So gings:

    Create Event

    GML-Quellcode

    1. z=0; //z-Variable
    2. zspeed=0; //Sprungkraft/-geschwindigkeit
    3. zgravity=0; //Gravitation
    4. sprung=0; //ob gesprungen wird (0=nein.1=ja ; geht auch mit false,true)



    Step Event

    GML-Quellcode

    1. z+=zspeed;
    2. zspeed-=zgravity; //sanftes Springen
    3. if z<0{ //Damit man nicht durch den Boden fällt
    4. z=0;
    5. zspeed=0;
    6. zgravity=0;
    7. }
    8. if sprung=1 //Damit man nur springt, wenn man am Boden ist
    9. {
    10. if z=0
    11. {
    12. sprung=0
    13. }
    14. }
    Alles anzeigen


    Keyboard Event for <Space> Key

    GML-Quellcode

    1. if sprung=0 //prüfen ob gesprungen wird
    2. {
    3. zspeed=0.7;
    4. zgravity=0.07;
    5. sprung=1; //Sprung aktivieren
    6. }


    Und das mit dem - wusste ich schon, aber es hat mich verwirrt, wie mir das erklährt wurde, da es mir ja nichts bringt das ins Create Event zu machen. :D

    Danke für die Hilfe.