Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: cancerbero666 en Mayo 03, 2014, 06:53:28 PM

Título: Problema al pausar el juego en pantalla completa(SOLUCIONADO).
Publicado por: cancerbero666 en Mayo 03, 2014, 06:53:28 PM
Hola a todos de nuevo como siempre yo habitual por aquí jejeje.
Tengo el siguiente problema echo un menú de pausa muy sencillo pero eficaz en android y en ventana funciona de maravilla, pero en pantalla completa si le doy a la tecla backspace (retroceso,borrar) se me sale de la pantalla completa y se me queda la pantalla en blanco uso el siguiente codigo

if (show_question("Juego pausado, Continuar"))
{
    continuar=0;
}
else
{
    show_message("Regresaras al menu principal");
    room_goto(menu);
}


alguien sabe que puede pasar, se agradece mucho la ayuda y las consultas un saludo a todos.

Título: Re:Problema al pausar el juego en pantalla completa.
Publicado por: eams1986 en Mayo 03, 2014, 07:05:40 PM
A que te refieres a pantalla completa??????
Saludos
Título: Re:Problema al pausar el juego en pantalla completa.
Publicado por: Killer en Mayo 03, 2014, 07:24:20 PM
Mostrar un mensaje requiere modo de ventana, pasar entre mode de ventana y modo pantalla completa o viceversa es propenso a eliminar surfaces, todo lo que se dibuja normalmente en GM se dibuja en una surface general.

Cuando usas tu código en pantalla completa forzas el programa a ir a ventana, lo que causa que la surface general se borre y todo lo que queda es un fondo blanco hasta que la superficie pueda dibujarse de nuevo, cosa que no hará hasta que el mensaje deje de pausar el juego.
Título: Re:Problema al pausar el juego en pantalla completa.
Publicado por: cancerbero666 en Mayo 03, 2014, 07:38:34 PM
eams1986 que no se reproduzca el juego en una ventana si no en la totalidad de la pantalla,

killer en resumidas cuentas quiere decir que no podre emplear ese método para jugar en el pc y tendré que usar otro? me bajado algún ejemplo pero no he podido hacerlo por eso se me ocurrió ese.


Como siempre gracias por tu respuesta
Título: Re:Problema al pausar el juego en pantalla completa(SOLUCIONADO).
Publicado por: cancerbero666 en Mayo 05, 2014, 06:54:04 PM
Ya  lo he solucionado después de mucho indagar y trastear he conseguido currarme un menú de pausa con sus botones etc, a mi me han ayudado por aquí yo no se mucho por eso no puedo ayudar, pero quiero aportar mi granito de arena y dejar un tutorial de como lo hecho   por si alguien le puede servir.

primero hice 4 sprites uno que dice juego en pausa y otros 3 que son los botones que lleva mi menu.
(https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-prn2/t1.0-9/10258766_709535879110129_2319662106779660290_n.jpg)(https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-ash4/t1.0-9/10246332_709535875776796_2744121700893351265_n.jpg)(https://scontent-b-mad.xx.fbcdn.net/hphotos-prn2/t1.0-9/10171288_709535885776795_313437081179130542_n.jpg)(https://scontent-a-mad.xx.fbcdn.net/hphotos-prn2/t1.0-9/1506948_709535915776792_3111846574058431883_n.jpg)

luego hice un objeto controlador y en el evento keypress puse este codigo (este objeto es el que se pone en los niveles)
instance_create(0,0,obj_pause);

instance_create (view_xview+145,view_yview+20,objpausado)
instance_create (view_xview+160,view_yview+104,objcontinuar)
instance_create(view_xview+160,view_yview+188,objmenu)
instance_create(view_xview+160,view_yview+272,objsalir)


luego he creado otro objeto al que he llamado pausa en el evento create he puesto lo siguiente


surf = surface_create(view_wview[0], view_hview[0]);

surface_set_target(surf);
draw_clear_alpha(c_black, 0);
with(all)
{
  if (visible == true)
  {
        x = x-view_xview[0];  y = y-view_yview[0]; // Moves all instances to the top left corner, so they will appear in the correct place on the surface
        event_perform(ev_draw,0);
        x = x+view_xview[0];  y = y+view_yview[0]; // Move the instances back to their original spot.
  }
}   
surface_reset_target();

instance_deactivate_all(true);
visible = true;


en alarma 0 puse lo siguiente
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
with(all) { if (visible == true) {
        x = x-view_xview[0];  y = y-view_yview[0];
        event_perform(ev_draw,0);
        x = x+view_xview[0];  y = y+view_yview[0];
         } }
surface_reset_target();

instance_deactivate_all(true);


en el evento room End lo siguiente

surface_free(surf);


luego cree 4 objetos uno para cada sprite de los botones y puse lo siguiente

objpausado no le puse nada ya que es solo el que informa de que el juego esta pausado

en el objeto continuar puse lo siguiente
instance_activate_all();
instance_destroy();
with (objpausado) instance_destroy();
with (objmenu) instance_destroy();
with (objcontinuar) instance_destroy();
with (objsalir) instance_destroy();


en el objetomenu puse un leftpressed diciendole que me llebe al room menu

y el objsalir le puese un leftpressed le puese end game

y este seria el resultado de mi menu
(https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-frc3/t1.0-9/10153937_709535912443459_8139537843456105180_n.jpg)

lo he sacado de varios tutoriales modificando ciertas cosas para que encajaría con mi juego y me ha costado bastante adaptarlo pero al final el resultado es mas que aceptable pienso, tu puedes hacer el tuyo propio modificando lo que quieras, y cambiadlo a tu gusto. para que veáis el funcionamiento he echo un pequeño vídeo que podéis ver aquí.

https://www.youtube.com/watch?v=Mxely0HmwXM&feature=youtu.be

espero que os sirva un saludo.