Surface, ovvero finestra modale

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
funkygallo
Membro attivo
Messaggi: 256
Iscritto il: 01/04/2014, 23:43
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Surface, ovvero finestra modale

Messaggio da funkygallo »

Ciao,
sto provando a realizzare un sistema di modal window utilizzando le surface.

Ho la mia schermata come questa sotto con la gui sotto che funge da menu e altro
Immagine

Ora quando il personaggio raggiunge un bonus, lo schermo si scurisce (applico un alpha ad un rettangolo colorato di nero)
viene visualizzata una finestra (quella bianca con la x) e soprattutto la sezione gui (quella in rosso) rimane attiva.

Quindi l'utente o puù cliccare sulla X e chiudere la finestra oppure interagire con la gui

Questo è l'approcio che uso, ma volevo sapere se esiste un modo "migliore" o pulito per avere lo stesso risultato.

Codice: Seleziona tutto

        w_surface = surface_create(1280,720);
        surface_set_target(w_surface);
        draw_clear_alpha(c_black,0); // Clears surface.
        draw_enable_alphablend(false);
        draw_surface(application_surface,0,0);
        draw_enable_alphablend(true);
        surface_reset_target();
        
        //salvo il contenuto
        screen_back = background_create_from_surface(w_surface,0,0,1280,619,false,false);
        surface_free(w_surface);
        
        //creo la finestra modale
        instance_create(100,100,obj_modal_window_bonus); 

e poi nella obj_modal_window_bonus

Codice: Seleziona tutto

//disegno lo screenshot catturato prima
draw_background(screen_back,0,0);  

//schermo semitrasparente
draw_set_color(c_black); //set color to black
draw_set_alpha(0.7); //set half transparency
draw_rectangle(1, 1, room_width, 619, 0); //draw rectangle
draw_set_alpha(1); //set back to normal
Questo il risultato
Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 166 ospiti