Leben verlieren und respawn am gestorbenen Platz

  • GM 8

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

  • Leben verlieren und respawn am gestorbenen Platz

    Ich hab bei meinem Spiel einen 480x8000 Raum mit einem kleineren View.
    Mein Player kann sich nur nach rechts oder links bewegen und der Hintergrund scrolled mit einem Speed von 10.
    Ich hab nun meine Lebensanzeige von 2 Leben und auch meine Hindernisse ziehen meinem Play 1 Leben ab, jedoch wird er an den Anfangsort zurückteleportiert und hat wieder 2 Leben. Ich möchte aber, dass der Player, wenn er gegen das Hinderniss fliegt 1 Leben verliert und weiter fliegen kann und erst wenn er auch das 2. Leben verloren hat stirbt er und das Spiel fängt von vorne. Der Spieler kann auch nachdem er einmal getroffen wurde, mit nur noch 1 Leben genau an der Stelle wieder erscheinen wo er zuvor gestorben ist.

    Im Shooter Tutorial machte das jemand mit dem Create Instance of object (relative), aber das funktioniert bei mir nicht.

    Ich hab 1 Objekt: Controller lifes

    Create - Set lives to 2
    No more Lives - Restart der Game
    Draw Gui - Draw the Lives as image

    Player:

    Collide obj_Ast - Destroy Instance - Set lives -1 (relative)
    Collide obj_Vogel - Destroy Instance - Set lives -1 (relative)
    etc



  • Ja wenn du instance destroy verwendest wird ja auch gar nichs mehr gehen.

    Du musst auch den Vogel nicht zerstören. Einfach den Vogel anhalten (speed = 0 oder ähnliches) und -1 Leben. wenn Leben 0 wird, dann kannst du den Vogel zerstören.

    Im Moment hat dein Vogel deswegen immer wieder zwei Leben, weil du ihn tötest und er im Create event wenn er wieder erstellt wird ja wieder 2 Leben hat.


    Ich hoffe das hilft dir schonmal weiter, auf den richtigen Weg zu kommen. Falls du noch Fragen hast, beantworte ich sie dir aber gerne.

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • Karanja schrieb:

    Ich hab bei meinem Spiel einen 480x8000 Raum mit einem kleineren View.
    Mein Player kann sich nur nach rechts oder links bewegen und der Hintergrund scrolled mit einem Speed von 10.
    Ich hab nun meine Lebensanzeige von 2 Leben und auch meine Hindernisse ziehen meinem Play 1 Leben ab, jedoch wird er an den Anfangsort zurückteleportiert und hat wieder 2 Leben. Ich möchte aber, dass der Player, wenn er gegen das Hinderniss fliegt 1 Leben verliert und weiter fliegen kann und erst wenn er auch das 2. Leben verloren hat stirbt er und das Spiel fängt von vorne. Der Spieler kann auch nachdem er einmal getroffen wurde, mit nur noch 1 Leben genau an der Stelle wieder erscheinen wo er zuvor gestorben ist.

    Im Shooter Tutorial machte das jemand mit dem Create Instance of object (relative), aber das funktioniert bei mir nicht.

    Ich hab 1 Objekt: Controller lifes

    Create - Set lives to 2
    No more Lives - Restart der Game
    Draw Gui - Draw the Lives as image

    Player:

    Collide obj_Ast - Destroy Instance - Set lives -1 (relative)
    Collide obj_Vogel - Destroy Instance - Set lives -1 (relative)
    etc


    Hallo! :D

    Ich schreibe nun einen Code, der deiner Beschreibung entspricht. In der Hoffnung, dass er dir einen AHA-Effekt verleiht oder du zumindest annähernd siehst, was in deinem Beispiel nicht stimmt.


    OBJ_SPIELER
    Create Event
    :event_create:

    GML-Quellcode

    1. leben = 2;


    Step Event :event_step:

    GML-Quellcode

    1. If (place_meeting(x,y,obj_hindernis)) {
    2. leben -= 1;
    3. }
    4. if (leben <= 0) {
    5. game_restart(); //oder zu einem Raum wechseln: room_goto(rm_raum)
    6. }

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

  • Bin mir nicht ganz sicher, aber ich glaube deine erste Zeile ist falsch, sollte so gehen:

    GML-Quellcode

    1. if (place_meeting(x,y,obj_Ast_klein) ==true){
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
  • Das == true braucht man in gml nicht unbedingt

    ich kann aber leider auch nicht entdecken wo bei deinem Code das Problem sein sollte, scheint alles richtig zu sein.

    bist du dir sicher, dass der Error in diesem Objekt auftritt?
    bzw ist das der gesamte Step Event Code?

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • Sagt mir Game Maker beim Start des Spiels: event Step, action 1 at line 1: Assignment operator expected

    ich kann aber leider auch nicht entdecken wo bei deinem Code das Problem sein sollte, scheint alles richtig zu sein.

    Das Problem liegt bei dem "If" es muss ganz klein geschrieben sein also "if".
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • CAS schrieb:

    Michaelp800 schrieb:

    Nein, ihr Dödel. Der Fehler liegt an der fehlenden Klammer (!).

    If place_meeting(x,y,obj_Hindernis)) {
    leben -= 1;
    }

    if (leben <= 0) {
    game_restart(); //oder zu einem Raum wechseln: room_goto(rm_raum)
    }

    Hab's editiert.


    Selber Dödel. 1.: Du schließt eine Klammer mehr als du öffnest, 2.: der GM ist case-sensitive. henrik1235 hat Recht.

    Mist! *Klatsche verdient hab* :headtouch: :sauf:

    Hab's edit-/korrigiert.