Im Raum starten, in dem man ein Leben verliert

  • Im Raum starten, in dem man ein Leben verliert

    ich versuche grade die Rücksetzpunkte für meinen Plattformer zu setzen stehe jetzt aber vor folgendem Problem.

    Da die Bilder nicht scrollen sondern umgeblättert werden ist die Startposition meiner Figur in jedem Raum eine Neue.

    Jetzt habe ich eingestellt das der komplette Raum neu gestartet wird und der Spieler zurück zur Startposition springen soll falls er dem Bild fällt oder einen Gegner berührt.
    Das funktioniert auch soweit aber leider orientiert sich meine Figur an der Startposition des ersten Raumes so das er dann, wie er im ersten Raum startete in der Mitte und nicht da wo er im aktuellen Raum anfing.

    Eigentlich soll bei einem Neustart des Raumes alles an die Ursprungssituation gesetzt werden inkl. der Figur die da stehen soll wo sie auch den jeweiligen Raum betreten hat.

    Gibt es da eine Iconlösung für das Problem ?
    Ich habe mich mittlerweile mal mit der GML Sprache befasst und bin nach knapp 5 Wochen nicht einmal im 2.Kapitel angefangen weil ich da einfach nicht hintersteige.

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

  • Kannst du nicht jedesmal wenn du einen Raum wechselst zwei selbstdefinierte Variablen (etwa: start_x und start_y) mit den aktuellen x und y Werten belegen, und beim Sterben dann auf diese springen?
    Einige meiner Spiele:
  • Das hatte ich auch schon überlegt, das Problem an der Sache ist halt das die Figur in jedem Raum eine komplett andere Startposition hat.
    Auch ist die Figur auch persistant, sonst hätte ich ja theoretsich in jedem Raum die Figur einfach an die jeweilige Startposition setzen können was aber leider auch nicht geht da die meisten Räume mehrere Ausgänge haben.

    Auch die Idee für jeden Raum ein komplett neues Playerobjekt welches halt jeweils die Varianten hat auf der sie im jeweiligen Raum gestartet ist hatte ich kurz, allerdings viel mir dann auf das es absolute Resourcenverschwendung ist wenn ich später für jeden Raum ein neues Playerobjekt hätte da dieses später um die 100 Bilder haben soll.
    Ich hab das jetzt so gelöst das es alle 20-30 Bilder einen Rücksetzpunkt gibt in einem Raum der nur einen Eingang hat.
    So kann ich dann zwischen diesen beiden Räumen in der der Rücksetzpunkt ist das Playerobjekt austauschen.Ich muss jetzt zwar immer noch für jeden Rücksetzpunkt ein komplett neues Playerobjekt erstellen aber dies sind nicht ganz so viele.

    Dennoch Danke für deinen Tip.

    Grüsse
    Monty
  • mach doch einfach ein neues (nicht sichtbares, nicht persistentes) objekt was du in jedem raum platzierst. Ins create-event von dem machste dann den code:

    Quellcode

    1. obj_spieler.start_x = obj_spieler.x;
    2. obj_spieler.start_y = obj_spieler.y;

    (angenommen dein spieler-objekt heist obj_spieler)
    Damit werden beim spieler die variablen start_x und start_y erstellt/bearbeitet, sodass immer die koordinaten von der position am anfang im raum drinstehn.
    dann kannste später mit jump to a given position
    x: start_x
    y: start_y
    zu der position springen
  • Auch das habe ich schon bedacht, das Problem an der Sache ist aber auch wieder das es in jedem Raum mehrere Eingänge gibt so das ich keinen spezifischen Eingang selbst nennen kann.

    habe das Problem mittlerweile so gelöst das man nach der ersten Hälfte des Levels ein Raum kommt in dem es nur einen Eingang gibt durch den man auch nicht mehr zurückkommt so das man im Falle eines Lebensverlustes immer zurück in diesen Raum gesetzt wird.
    Ist zugegeben ein Kompromiss aber ich bin da dennoch ganz zufrieden mit.
    Jetzt habe ich ein Problem mit den Leitern AAARRGGHH!!
    ;(
    Egal, das klappt schon,

    Danke für eure Ratschläge
    Grüsse
    Monty
  • Benutzer online 1

    1 Besucher