Enemy respawn Funktion

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

  • Enemy respawn Funktion

    Also ich habe ein Level in einem großen Raum, mit verschiedenen Checkpoints. Wenn ich an einer Stelle sterbe, dann werde ich zu den letzten Checkpoint zurückgebracht.

    Das Problem ist aber, dass alle Enemy welche ich bis dahin zerstört habe danach auch nicht mehr da sind.

    Gibt es eine Möglichkeit, mit der man alle Enemys wieder respawnt wenn man besiegt wird?

    Ich habe es schon mit room_restart versucht, da startet aber alles wieder von Vorne und der Player ist wieder am Level Anfang.
    Schaut mal auf meinen Games vorbei (alle für Android):

    APPLE ISAAC

    JUGGLE JUNKIE

    SKY APE

    Freu mich über Meinungen, Verbesserungsvorschläge und gute Bewertungen!!!
  • Hey ich denke über eine Standard GMS Funktion kommst du da nicht weiter.
    Hier musst du dir selber was ausdenken.

    Du könntest jedem Checkpoint auch die Gegnerobjekte zuordnen die neu spwanen sollen und anstatt nur den Spieler wieder herzustellen, auch die Gegnerobjekte neu spwanen lassen.
    Mein aktuelles Projekt: Twiggels Tower Defence :para: :shifty:
    Mittlerweile: Green and Grey
  • Der Clou ist es nicht direkt Gegner auf dem Level zu platzieren, sondern Spawner, die die Gegner erst über ein Script an ihrer eigenen Position spawnen. Am besten gibst Du den Spawnern das Sprite des Gegners, den sie Spawnen sollen, damit die Platzierung im Level so einfach geht wie Gegner manuell zu platzieren (am besten aber in etwas anderer Farbe oder mit einem speziellen Icon, damit Du im Leveleditor sofort siehst, dass es tatsächlich ein Spawner ist und Du nicht aus Versehen einen Gegner platziert hast). Aber das Sprite des Spawners versteckst Du natürlich beim Spielstart damit der Spieler es nicht zu Gesicht bekommt.

    Wenn der Spieler nun draufgeht, löschst Du alle Gegner die noch am Leben sind und aktivierst die Spawner nochmal (per "with (obj_spawner)" etwa - mit "with" kann man "von außen" code in anderen Objekten ausführen, etwa vom Spielerobjekt aus wenn der Spieler stirbt). Auf diese Weise garantierst Du, dass die Gegner sich korrekt resetten.

    Potenziell musst Du sowas auch mit anderen Objekten machen, die sich resetten sollen, zum Beispiel irgendwelchen Power Ups, zerstörbaren Wänden etc..

    Diese Herangehensweise erlaubt dir auch viele andere nette Sachen zu machen. Du kannst so etwa Gegner randomisieren (jedes Mal andere Spawner aktivieren) oder bestimmte Gegner (etwa Bosse) nicht respawnen lassen.
  • Benutzer online 1

    1 Besucher