[Gelöst] ESC soll Menü öffnen und es auch wieder schließen, aber es schließt sich nach dem Öffnen sofort wieder.

  • GM 8

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

  • [Gelöst] ESC soll Menü öffnen und es auch wieder schließen, aber es schließt sich nach dem Öffnen sofort wieder.

    :)

    Ich hab ein ganz einfaches Problem, aber ich komm trotzdem nicht weiter. Und zwar hab ich ein Menü, das mit der ESC-Taste ( :event_keypress: keyboard press Event) geöffnet wird und das Spiel pausiert, welches mit instance_deactivate_all(true) und einem gezeichneten Screenshot des vorherigen Bildschirms bestens funktioniert.

    Leider krieg ich es nicht hin, dass das Menü nicht sofort wieder geschlossen wird. Das versteh ich nicht, weil das :event_keypress: keyboard press Event doch nur einmalig prüft, ob eine Taste gedrückt wird und nicht, ob sie dauerhaft gedrückt ist, denn dafür gibt es doch das :event_keyboard: Event. Egal, ob ich :event_keypress: keyboard_press oder :event_keyrelease: keyboard_release verwende, das Menü schließt sich sofort wieder.

    Ich hab folgendes versucht, wenn das Menü geöffnet wird:

    GML-Quellcode

    1. io_clear();
    2. keyboard_string = 0;
    3. keyboard_lastchar = 0;
    4. keyboard_lastkey = 0;
    5. keyboard_clear(vk_escape);

    Funktioniert alles nicht. Was mach ich falsch? :(

    GML-Quellcode

    1. if ! (freedom) { instance_destroy(gamemaker); instance_create(x, y, html5); }

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

  • TrunX schrieb:

    wie wärs mit:

    GML-Quellcode

    1. if keyboard_check_pressed(vk_escape)
    2. {
    3. if !menuoffen
    4. {
    5. //menü öffnen
    6. menuoffen=1;
    7. }
    8. else
    9. {
    10. //menü schließen
    11. menuoffen=0;
    12. }
    13. }
    Alles anzeigen
    Hm, ja... So würds natürlich gehen, so mach ich das woanders auch. Ich hatte halt das Menü als eigenes Objekt gemacht - das heißt, dass das Objekt, das es aufruft, vom Menü deaktiviert wird. Aber gut, sieht so aus als muss ich es so machen. Mal schauen, ob ich das hinkrieg... Melde mich dann wieder.

    EDIT: Alles klar, ich habs so gemacht. Ist auch viel eleganter.Danke, offenbar gings eh nicht anders. :)

    GML-Quellcode

    1. if ! (freedom) { instance_destroy(gamemaker); instance_create(x, y, html5); }

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