Pause mit Objekt

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

  • Pause mit Objekt

    Also wie man Pause macht, weiß ich! Aber wie mache ich, dass dann während der Pause so ein Halbtransparentes Objekt über dem ganzen Bildschirm gedrawed wird und dann wieder weggeht, wenn das Spiel weiterläuft?
    Hab da irgendwie einen Blackout! :(
  • GML-Quellcode

    1. if(keyboard_check_direct(vk_pause)){
    2. if(pause=false)
    3. {
    4. pause=true;
    5. game_save("game.sav");
    6. instance_create(0,0,obj_dings);
    7. }
    8. else
    9. {
    10. pause=false;
    11. game_load("game.sav");
    12. }}
    Alles anzeigen

    hmmmm so?

    Dragoon
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • screen_refresh() => zeigt alles an was bis zu diesem zeitpunkt gezeichnet wurde (in allen events verfügbar)
    keyboard_wait() => hält das spiel an bis eine taste gedrückt wird
    io_clear => löscht den status von keyboard und maus (man kann die zuletzt gedrückte taste nicht mehr herausfinden, etc...)

    wenn du etwas drawen möchtest musst du das VOR diesem code tun, da sobald du den ausführst alles gestopt wird...

    Dragoon
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • Vielleicht hilft dir das ja:
    Objekt Pause:

    Create event:

    Quellcode

    1. {
    2. bg_screen = background_create_from_screen(0,0,1024,768,1,true,true);
    3. instance_deactivate_all(true);
    4. }

    Speichert deinen momentanen Screen in bg_screen und
    object Pause deaktiviert alle instancen außer sich selbst


    destroy event:

    Quellcode

    1. {
    2. background_delete(bg_screen);
    3. instance_activate_all();
    4. }

    löscht den hintergrund wieder (um speicher frei zu machen)
    aktiviert wieder alle instancen


    DRAW event:

    Quellcode

    1. {
    2. draw_background_ext(bg_screen,x-512,y-384,1,1,0,c_white,0.6);
    3. }

    malt Dir den Background mit z.B. 0.6 alpha
    im Draw event kannst Du ja noch ein eigenes Pause menü zeichnen...


    mein Object Pause wird genau in der mitte des Bildschirms kreiert
    deswegen x-512,y-384 (bei 1024 x 768 )
    das mußt Du eventuell an Deine Auflösung anpassen.

    Hoffe das hilft Dir

    Der Vorteil hier ist, dass Du in dem object Pause nun programmieren kannst was Du willst, alle anderen instancen abgeschaltet sind, und trotzdem das Bild halbtransparent im Hintergrund liegen.
  • sehr einfach lässt sich sowas so lösen:

    key-press-event (egal welcher button)

    GML-Quellcode

    1. draw_set_halign(fa_center);
    2. draw_set_valign(fa_center);
    3. draw_set_alpha(0.6);
    4. draw_set_color(c_black);
    5. draw_rectangle(view_xview[view_current],view_yview[view_current],view_wview[view_current],view_hview[view_current],false);
    6. draw_set_alpha(0.8);
    7. draw_set_color(c_white);
    8. draw_text(view_xview[view_current]+(view_wview[view_current]/2),view_yview[view_current]+(view_hview[view_current]/2),'[ Pause ]');
    9. screen_refresh();
    10. keyboard_wait();
    11. draw_set_alpha(1);
    12. draw_set_halign(fa_top);
    13. draw_set_valign(fa_left);
    Alles anzeigen


    - verwendbar mit views
    - alle veränderten einstellungen werden wieder zurückgesetzt nach der pause
    - man kann noch eine eigene schrift definieren...
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x