Spiel pausieren

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

  • Eben nich: so pausiert zwar das Spiel wenn ich auf "P" drücker, aber s geht einfach beim Drücken einer BELIEBIGEN Taste weiter.
    Wie kann ich abfragen dass es nur bei der "P"-Taste weitergeht?
    Liegt sicherlich an der keyboard_wait() funktion aber was muss ich da dran verändern damit s klappt?
  • Weil ich das selbe Problem hatte, hab ich mal gesucht und im Englischen Game-Maker Forum etwas gefunden. Es müsste dann so aussehen:

    Quellcode

    1. {
    2. draw_text(130,216,"Pause");
    3. screen_refresh();
    4. io_clear();
    5. do
    6. {
    7. io_handle()
    8. }
    9. until(keyboard_key =ord('P'));
    10. io_clear();
    11. }
    Alles anzeigen


    Da wo das ord('P') steht, muss die taste zum Beenden der Pause stehen
    “Computers are good at following instructions, but not at reading your mind.” (Donald Knuth)

    Ich schreibe mit Neo.

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

  • dein script ist schon super
    aber ich brauche was noch besseres :D
    denn ich will machen das ein pausemenü kommt wenn man auf Esc drückt
    das ist auch nicht schwer
    aber ich will das es wieder weggeht wenn ich auf einen object also auf einem knopf drücke wo z.b. Weiter draufsteht
    aber mit deinem script klappt es leider nicht weil da alles angehalten wird auch wenn ich auf so nem knopf drücke
    Die Schönheit liegt im Auge des Betrachters :D
  • hihi

    GML-Quellcode

    1. var _temp;
    2. {
    3. _temp = false;
    4. draw_sprite(spr_continue,0,room_width/2-sprite_get_width(spr_continue)/2,room_height/2-sprite_get_height(spr_continue)/2);
    5. screen_refresh();
    6. io_clear();
    7. do
    8. {
    9. io_handle()
    10. screen_refresh();
    11. if (mouse_check_button(mb_left)
    12. && mouse_x > room_width/2-sprite_get_width(spr_continue)/2
    13. && mouse_x < room_width/2+sprite_get_width(spr_continue)/2
    14. && mouse_y > room_height/2-sprite_get_height(spr_continue)/2
    15. && mouse_y < room_height/2+sprite_get_height(spr_continue)/2
    16. or keyboard_key = ord('P'))
    17. _temp = true;
    18. }
    19. until(_temp == true);
    20. io_clear();
    21. }
    Alles anzeigen
    der weiter-button muss spr_continue heisen
    (nicht ganz ernstzunehmen :D)
  • Aaaaahhh.... interessant eure Techniken!

    DAs funktioniert zwar schon ganz gut, aber ich will natürlich auch ein Menü in den Pause screen basteln, hab aber nich gewusst dass das so kompliziert ist....muss ich dann mal ausprobiern und rumbasteln.. :]!
  • Original von xiebel
    das muss auch garnich so kompliziert sein, deswgen hab ich ja drunter geschrieben das man mein script nich so ernst nehmen sollte ^^


    find ich auch :
    Man kann auch einfach nen Raum erstellen und beim P-press-event
    room_goto(Menüraum)
    und dann noch ein Object mit dem man wieder in den Raum vorher kommt !!!!
    (Raum natürlich persistent machen :
    set room(Raumname)persistent
    oder :
    if(vk_key P)
    room(Raumname)=persistent

    oder ähnlich
    alles ist möglich, unmögliches dauert nur etwas länger
  • Original von xiebel
    das muss auch garnich so kompliziert sein, deswgen hab ich ja drunter geschrieben das man mein script nich so ernst nehmen sollte ^^


    So ein abgedrehtes Ding wurde auch in der GMC abgeschossen. Das ist ein schönes Skript und tut was es soll... den Prozzi so stark belasten das er keinen Schritt mehr weiter kommt^^ (und ihn nebenbei auch ziemlich erhitzen, mein 2800+ heizt ganz schön auf^^)
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Original von Stiller
    wie wärs, wenn du einfach kurz das spiel abspeicherst, in den pause-menu-raum gehst und beim zurückgehen einfach den soeben gespeicherten spielstand lädst?

    Solange man keine Zusätlichen Ressourcen geladen, oder verändert hat, ist das an sich, das einfachste, sonst macht es die Sache wieder komplizierter...
  • Das ist jetzt wirklich ein Gebiet, auf dem ich mich noch nicht kundig getan habe, da mein Spiel noch einiges entfernt ist da einen Pause Modus einzubauen.
    Aber theoretisch sollte es doch irgendwie machbar sein.
    Beim Raumwechsel immer den nächsten Raum auf Persistent stellen, bevor er betreten wird und nach dem betreten dem vorherigen Raum das Persistent Attribut nehmen. Einen Screenshot machen, in einen anderen Raum zu gehen und den Shot als Hintergrund einstellen.
    Dann kann man da machen was man will als Pause.
    Wenn man dann zum Spiel zurück will geht man in den Spielraum, haut den Screenshot ausm Speicher und fertich ist.

    Edit: Hier mal ein Beispiel anhand eines modifizierten 1945 Beispiels, welches im original beim GM dabei ist: home.arcor.de/Windapple/gmaker/tuts/1945.zip
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Es gibt eine ganz einfache Möglichkeit...

    GML-Quellcode

    1. {
    2. show_message('Pause');
    3. }
    Dadurch erscheint eine Textbox und das Game wird automatisch pausiert.
    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
  • Original von Kilik
    Es gibt eine ganz einfache Möglichkeit...

    GML-Quellcode

    1. {
    2. show_message('Pause');
    3. }
    Dadurch erscheint eine Textbox und das Game wird automatisch pausiert.

    Er will aber ein Menüraum wo man speichern usw. wählen kann (denk ich mal !!!)
    alles ist möglich, unmögliches dauert nur etwas länger
  • Original von Raxoz
    Original von Kilik
    Es gibt eine ganz einfache Möglichkeit...

    GML-Quellcode

    1. {
    2. show_message('Pause');
    3. }
    Dadurch erscheint eine Textbox und das Game wird automatisch pausiert.

    Er will aber ein Menüraum wo man speichern usw. wählen kann (denk ich mal !!!)

    Geschrieben hat er aber nur etwas über einen befehl, der das Spiel pausiert. ;)
    Da wäre meins noch die einfachste Lösung.^^
    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