Checkpoints in Jump'n'Run

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

  • Checkpoints in Jump'n'Run

    Ich mache ein Jump 'n' Run Spiel (in der DB die Demo) un wollte wissen wie man einfach checkpoints in level machen kann. also wenn man stirbt wieder an einer stelle davor is.
    Kann sein das das schon irgendwo hier steht, hab aber leider nie zeit zu gucken da ich nur isdn hab.

    Danke euch für eure Hilfe schon im voraus!

    :):):)
  • das geht einfach und auch halbwegs professionell, du brauchst 2 verschiedene objekte
    Objekt NR 1: dead
    - Hat einen leeren NICHT TRANSPARENTEN sprite
    - Im Collistion objekt mit dem player-objekt:
    Deine Drag & Drop Aktionen, also Score auf 0, life -1, usw.
    "player" musst du durch den namen des objektes ersetzen, das den spieler darstellt

    GML-Quellcode

    1. var obj;
    2. obj = instance_nearest(x,y,checkpoint);
    3. player.x = obj.x;
    4. player.y = obj.y;

    Objekt NR 2: checkpoint
    - An der Position dieses Objekt, kommt später der player.
    - Inhalt: Nichts, kein code, kein sprite, ...

    Tipps:
    Setze ein oder mehrere Objekte "dead" im raum.
    Wenn der Spieler mit einem dieser objekte collidiert, werden deine Drag & Drop Aktionen ausgeführt und der Spieler springt zum nächsten "checkpoint"-objekt. den code kannst du auch in einem beweglichen gegner setzen, hat den gleichen effekt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von copyboy ()

  • Sry, ich glaube ich habe mich verlesen.
    Du hast keine Zeit mal eben für eine Minute die SuFu zu benutzen, aber auf 'ne Antwort warten kannste?

    Neenee, so läuft das hier nicht.
    Das is jetzt nich böse gemeint, aber wir können nicht für dich die Regeln umschreiben, und die Hilfe kannste dir ja schließlich auch offline ansehen.

    Ich drück diesmal noch ein Auge zu, aber nächstes mal verhältst du dich bitte wie alle anderen auch,
    als ich damals noch 56k hatte hab ich mir auch nicht alles herbeitragen lassen.
    Speichermöglichkeiten/Spielstände/Fortschritt/Checkpoints
    Wenn du dann noch zusätzlich Fragen hast die über das bereits besprochene hinausgehen, kannste die gerne stellen.
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Copyboy: Du hast das Problem nicht verstanden.
    Wenn in der hälfte des Levels ein Checkpoint ist und man mehr als ein Viertel des Levels geschafft hat überspringt man bei deinem Code einen Teil des Levels.

    Geb den Playerobjekt einfach 2 (oder 3) Variablen, um die X und Y Koordinaten (und eventuell den Room) des letzten Checkpoints zu speichern. Wenn der Spieler stirbt dann bewegst du ihn dahin zurück. Wenn man einen Checkpoint erreicht musst du die Werte aktualisieren.
  • jetzt sei mal nicht so aufbrausend kilik, wir sind da um zu helfen, nicht um "rumzumeckern"
    oder nicht? also das ist eine einfache frage, und eine antwort ist doch dann nicht so schwierig
    jeder fall ist etwas besonderes. ich persönlich finde es mist, wenn jemand auf einen vorhandenen beitrag... 3-4 Monate nach dem letzen post ...eine antwort gibt und fragt, warum es net geht (weil es nicht bei ihm passt)

    EDIT: tut mir leid, mit "wieder an einer stelle davor is" dachte ich DIREKT davor

    wenn du nur EINEN checkpoint benutzt, kannst du diesen code benutzen:

    GML-Quellcode

    1. if (player.x>checkpoint.x)
    2. {
    3. player.x = checkpoint.x;
    4. player.y = checkpoint.y;
    5. }
    6. else
    7. {
    8. player.x = xstart;
    9. player.y = ystart;
    10. }

    (statt dem anderen, den ich dir vorhin gezeigt hab)
    das heißt, wenn der spieler vor dem checkpoint ist, kommt er zur start position (da wo er am anfang stand)
    wenn nicht kommt er zum checkpoint (ist er wieder davor kommt er WIEDER zum start punkt)

    EDIT2: es geht natürlich auch anders und besser, aber das hab ich nur so hingeschmiert :D

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von copyboy ()