Gegner soll respawnen

  • GM 7
  • Gegner soll respawnen

    N'Abend Community,
    Mich stört schon seit längerem dieses Problem:
    Ich mach mich grad an einem Jump'n Run Game. Die Gegner dort, die man besiegen muss, solln verschwinden und nach einiger zeit "respawnen", also wieder auftauchen.
    Das ansich hat auch einigermaßen geklappt, indem, wenn der Gegner 0 hp hat:
    Spoiler anzeigen

    GML-Quellcode

    1. visible := false;
    2. solid := false;
    3. Aktiv = "nein";
    Alarm1 auf 50 Steps setzen (Respawn - Zeit)
    In Alarm1:
    HP wieder auf voll

    GML-Quellcode

    1. visible := true;
    2. solid := true;
    3. Aktiv = "ja";


    Aktiv ist eine Variable, die prüft, ob der Spieler in einer bestimmten Distanz zum Gegner ist, wenn dem so ist, dann schießt und springt er.
    Jetzt ist mir aber aufgefallen, dass nachdem man den Gegner besiegt, er zwar unsichtbar ist, aber wenn man schießt, die Kugel gegen den unsichtbaren
    Umriss des Gegners knallt. :pinch:
    wieso??

    ____
    Adventskalender 2010: Blue Smiley

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

  • Erstelle doch beim Tot des Gegners, dass die instanz zerstört wird und ein 2tes Objekt erstellt wird das einen Countdown zählt und einen neuen Gegner Spawnt und sich wiederum selbst zerstört.

    Ist theoretisch sehr viel einfacher zu lösen als wenn du das ganze verhalten an/abschalten müsstest.
  • Das hab ich auch schon versucht, jedoch hat dies aus unerklärlichen Gründen, an denen ich mich jetzt nich mehr erinnern kann, auch nicht geklappt.
    edit: ich hatte auch schon den sprite_index in ein sprite ohne bild gemacht, und wenns respawnt wird wieder in das Gegnersprite.
    Dann ist das problem, dass die schüsse vom Spieler gegen den Umriss knallen, gelöst.
    Jedoch respawnt der Gegner nicht mehr. Er bleibt also für immer weg..

    ____
    Adventskalender 2010: Blue Smiley
  • Versucht doch mal, dass wenn das Bullet-Objekt auf den Gegner trifft, der Gegner zum beispiel ausserhalb des Levels geht, und dann wird ein alarm gestellt mit bestimmter Zeit.

    Wenn der alarm aktiviert wird, wird die Position des views/spielers herrausgesucht und dann einfach etwas weiter vor dem wieder hingestellt.

    Das solte eigntl 100% Funktionier ;D

    MFG
    Metalknight