HOla Makeros... Quería saber si me podrían ayudar en una duda que tengo, para mi juego. Quiero que al tocar el boton "esc" salga un mini menu hecho por mi y al volver a tocar el mismo boton vuelva al juego normal. Les agradeceria si tuvieran tiempo para hacer un example, es que soy nuevo en el gml y todavia es dificilillo
http://dquesadabrenes.wix.com/x-games
Te invito a probar mi pagina entra y juega X- GAMES

Hola Banano,

Esto es bastante sencillo, pero ten en cuenta que por defecto el boton Esc cierra el juego, así que recomiendo que si quieres usar este botón hagas primero un objeto vacío y le llames por ejemplo control, ahora te explico una forma sencilla para que hagas pruebas:

1º en las opciones de gamemaker tienes que desactivar una casilla que pone en ingles, cerrar el juego al pulsar Esc.

2º crea el objeto control y le añades:
     2.1 evento Pulsar tecla o soltar tecla(Evento Key release), pones la tecla que quieras para cerrar el juego para poder salir mientras lo testeas.

3º crea el objeto menú y le añades:
    3.1  evento soltar tecla Esc:  Crear el objeto que sería tu menú si no existe y destruirlo si existe.
     Esto se puede comprobar facilmente con o sin programación, sin programacion sería:

      Evento soltar Esc(Key release Esc)
       
      Apartado control: If a instance value: encojes igual a 0
          Crear menú
      Else
           Destruir menú
         

No se si me entenderas bien porque no se tu nivel.

Mi consejo haz los tutoriales, empieza con el de las bombas y no solo lo hagas, fíjate en cada acción y pregúntate lo que hace, yo empecé asi y ahora hago todo lo que se me ocurra, solo tenia una duda para guardar archivos en el disco pero ya la solucioné, era un fallo del Sistema operativo y permisos.

Si  no entiendes y quieres un tutorial te puedo hacer uno con pantallazos y explicación paso a paso y el porqué de cada acción, pero yo tengo el GM 8.

Aunque en realidad realidad los GM van todos igual para mi forma de verlo XD

Si no entendiste solo pídelo y te lo hago en mis ratos libres

Nota personal:

Para juegos 2D creo que el GM es uno de los mejores motores que existen, asi que si te gusta hacer juegos no te desesperes, todo se puede lograr.
Ahora si quieres usar 3D el GM no es muy potente en ese aspecto ni tiene soporte actualmente.

Un saludo

Añado:

Esto hace un menú pero no pone el juego en pausa,
para eso hay muchos mas métodos de mas fácil a mas dificil.

Todo depende de lo que quieras


Me encantaria que me dieras la explicacion con pantallazos, pero tambien me gustaria que al hacerlo se pusiera pausa al juego  :'( hey y muchas gracias por la explicacion  ;D
http://dquesadabrenes.wix.com/x-games
Te invito a probar mi pagina entra y juega X- GAMES

Cita de: Colmi en Enero 09, 2013, 12:31:54 AM
Hola Banano,

Esto es bastante sencillo, pero ten en cuenta que por defecto el boton Esc cierra el juego, así que recomiendo que si quieres usar este botón hagas primero un objeto vacío y le llames por ejemplo control, ahora te explico una forma sencilla para que hagas pruebas:

1º en las opciones de gamemaker tienes que desactivar una casilla que pone en ingles, cerrar el juego al pulsar Esc.

2º crea el objeto control y le añades:
     2.1 evento Pulsar tecla o soltar tecla(Evento Key release), pones la tecla que quieras para cerrar el juego para poder salir mientras lo testeas.

3º crea el objeto menú y le añades:
    3.1  evento soltar tecla Esc:  Crear el objeto que sería tu menú si no existe y destruirlo si existe.
     Esto se puede comprobar facilmente con o sin programación, sin programacion sería:

      Evento soltar Esc(Key release Esc)
       
      Apartado control: If a instance value: encojes igual a 0
          Crear menú
      Else
           Destruir menú
         

No se si me entenderas bien porque no se tu nivel.

Mi consejo haz los tutoriales, empieza con el de las bombas y no solo lo hagas, fíjate en cada acción y pregúntate lo que hace, yo empecé asi y ahora hago todo lo que se me ocurra, solo tenia una duda para guardar archivos en el disco pero ya la solucioné, era un fallo del Sistema operativo y permisos.

Si  no entiendes y quieres un tutorial te puedo hacer uno con pantallazos y explicación paso a paso y el porqué de cada acción, pero yo tengo el GM 8.

Aunque en realidad realidad los GM van todos igual para mi forma de verlo XD

Si no entendiste solo pídelo y te lo hago en mis ratos libres

Nota personal:

Para juegos 2D creo que el GM es uno de los mejores motores que existen, asi que si te gusta hacer juegos no te desesperes, todo se puede lograr.
otra forma mas facil seria hacer la variable volver en una flecha,entonces cuando estas en el menu pon
Ahora si quieres usar 3D el GM no es muy potente en ese aspecto ni tiene soporte actualmente.

Un saludo
otra forma mas facil seria hacer la variable volver en una flecha,entonces cuando estas en el menu pon volver=0
y entonces cuando aprietas pones:if volver=0 sevadondequieras if volver=1 sevuelvealmenu if volver=1 instance_destreoy(objetocontoladormenu) el menu pon un objeto controladormenu :
volver=0 y en el otro lugar pon volver=1
es muy complicado pero bueno

CREADOR DE JUEGOS GM.


- Como hacer preguntas inteligentes
- Reglamento General

HOLA COMUNIDAD,HOLA A TODOS




uso game maker 8 pro 8) y game maker studio Master Collection

Citarotra forma mas facil seria hacer la variable volver en una flecha,entonces cuando estas en el menu pon volver=0
y entonces cuando aprietas pones:if volver=0 sevadondequieras if volver=1 sevuelvealmenu if volver=1 instance_destreoy(objetocontoladormenu) el menu pon un objeto controladormenu :
volver=0 y en el otro lugar pon volver=1
es muy complicado pero bueno
oye me podrias hacer un example te lo agradeceria
http://dquesadabrenes.wix.com/x-games
Te invito a probar mi pagina entra y juega X- GAMES

Bueno, explícame de nuevo que quieres exactamente.

Pero bien explicado y te hago un mini tuto.

Se puede hacer un menú directamente saltando a otra pantalla, algo en plan:

Guardar partida --> ir al menú (room menú)--> para continuar cargas la partida. --> esto para configurar opciones y eso no te sirve, el game maker es un motor básico y tu tienes que programar todo por asi decir.

Para cosas mas profesionales no te sirve, para juegos simples si.

Para un menú de pausa bien elaborado, deberías poner a cada objeto una variable para pausar, por ejemplo:

Pulso el botón Pausa.

Enemigo_pausa=0;

y en cada step o acción, si vale 0 dejas que haga cosas, sino que salga del step.

Por eso indica bien lo que quieres hacer y te hago algún ejemplo

Un saludo

Noo de hecho gracias ya con esto me las ingenuo ^-^ muchas gracias
http://dquesadabrenes.wix.com/x-games
Te invito a probar mi pagina entra y juega X- GAMES

#8 Enero 09, 2013, 05:01:53 PM Ultima modificación: Enero 09, 2013, 05:42:25 PM por Creador de juegos GM
[/glow]
Cita de: banano29 en Enero 09, 2013, 01:45:53 AM
Citarotra forma mas facil seria hacer la variable volver en una flecha,entonces cuando estas en el menu pon volver=0
y entonces cuando aprietas pones:if volver=0 sevadondequieras if volver=1 sevuelvealmenu if volver=1 instance_destreoy(objetocontoladormenu) el menu pon un objeto controladormenu :
volver=0 y en el otro lugar pon volver=1
es muy complicado pero bueno
oye me podrias hacer un example te lo agradeceria
ok espera que cuando termine edito ste mensaje y lo subo.
edito:listo pero tiene errores corrigelos (en el evento left de la flecha y supuestamente tendría que funcionar sinó mandame mensaje privado)ademas busco grupo de desarrollo estan todos invitados
para intentar unirnos.
CREADOR DE JUEGOS GM.


- Como hacer preguntas inteligentes
- Reglamento General

HOLA COMUNIDAD,HOLA A TODOS




uso game maker 8 pro 8) y game maker studio Master Collection

Citarademas busco grupo de desarrollo estan todos invitados
para intentar unirnos
Me interesaria entrar soy buen spriter y guionista
http://dquesadabrenes.wix.com/x-games
Te invito a probar mi pagina entra y juega X- GAMES

Cita de: banano29 en Enero 10, 2013, 05:54:09 PM
Citarademas busco grupo de desarrollo estan todos invitados
para intentar unirnos
Me interesaria entrar soy buen spriter y guionista
ja ja bueno....que mas tengo para decirte................ bienvenido!!!!!!!!!!
busco personas interesadas de cualquier especializacion.....
incluso puse un anuncio.......
bueno.... mandame un mp de que quieres (no plata) y veremos...
je je chau
CREADOR DE JUEGOS GM.


- Como hacer preguntas inteligentes
- Reglamento General

HOLA COMUNIDAD,HOLA A TODOS




uso game maker 8 pro 8) y game maker studio Master Collection

Una solución elegante al problema de hacer un menú la aprendí sin querer buscando una solución a otro problema :D
Básicamente, necesitas una variable de control y una que mantenga la opción. No se qué tan avanzado sea tu nivel de GML, pero acá te propongo mi solución al problema :D

Lo primero es definir un par de variables y una lista, a la que le vamos a llamar menu_options y en la que vamos a añadir todas las opciones del menú.

global.menu = false;
menu_option_selected = 0;
menu_options = ds_list_create();
ds_list_add(menu_options,"Reiniciar");
ds_list_add(menu_options,"Salir");
ds_list_add(menu_options,"Volver");

Esto es preferible que lo hagas en el evento Create del objeto que utilices para inicializar y manejar las variables principales del juego.

Luego, en el evento Step necesitas implementar un ciclo while que se active sólo mientras la variable global.pause esté activada.

while (global.menu == true)
{
io_handle(); //Actualiza el estado del teclado
screen_redraw(); //Actualiza las tareas de dibujo en la pantalla
//Aca viene el control del menu
if (keyboard_check_pressed(vk_down))
{
if (menu_option_selected < ds_list_size(menu_options)-1)
{
menu_option_selected += 1;
}
else
{
menu_option_selected = 0;
}
}
if (keyboard_check_pressed(vk_up))
{
if (menu_option_selected > 0)
{
menu_option_selected -= 1;
}
else
{
menu_option_selected = ds_list_size(menu_options)-1;
}
}
if (keyboard_check_pressed(vk_space))
{
switch (menu_option_selected)
{
case 0:
//Reiniciar el nivel
global.menu = false;
room_restart();
break;
case 1:
//Salir del juego
global.menu = false;
game_end();
break;
case 2:
//Salir del menu de pausa
global.menu = false;
menu_option_active = -1
io_clear();
break;
}
}
if (keyboard_check_pressed(ord("P")))
{
global.menu = false;
menu_option_active = -1
io_clear();
}
}

//Esto ya es fuera del ciclo while, y sirve para llamar al menu de pausa dentro del juego
if (keyboard_check_pressed(ord("P")))
{
global.menu = true;
menu_option_selected = 0;
}


Ahora, para dibujar el menu de pausa en el juego, se hace lo siguiente dentro del evento Draw del objeto:

if (global.menu == true)
{
draw_set_alpha(0.5);
draw_set_color(c_black);
draw_rectangle(0,0,320,240,false);
draw_set_alpha(1);
draw_set_color(c_white);
draw_text(8,8,"-- Pausa --");
for (n = 0; n < ds_list_size(menu_options); n += 1)
{
if (menu_option_selected = n)
{
draw_set_color(c_red);
}
else
{
draw_set_color(c_white);
}
draw_text(8,24+(n*8),ds_list_find_value(menu_options,n));
}
screen_refresh(); //Actualiza el dibujado en pantalla. Esto es importante o si no no va a salir nada.
}                     


...Y con esto tienes un menú de pausa completamente funcional :D

Te dejo adjunta una versión funcional del menú de pausa que te acabo de explicar :)

Saludos, y ojalá te sirva :D

see de hecho me parece muy interesante este menu de pausa, esta perfecto para mi juego gracias  XD
http://dquesadabrenes.wix.com/x-games
Te invito a probar mi pagina entra y juega X- GAMES