Octubre 05, 2011, 04:05:15 AM Ultima modificación: Octubre 06, 2011, 02:59:25 AM por MaanuRP
Hola a todos nuevamente!

Ultimamente estoy descargando todas las dudas que tengo jaja.

Muchisimas gracias a todos los que estan en el foro ayudando :D




Bueno, mi duda es esa, como hago que el juego quede "freeze", tildado, trabado. PAUSADO seria la palabra correcta con la palabra "Pausa" en el medio para que se sepa que esta en pausa, y que al apretar el boton "Start" (En la Sega) se siga jugando.

No quiero usar el "show_message("Pausa")" es muy feo, quiero hacerlo bien. Alguien sabe como se hace?

Desde ya, muchisimas gracias!

Saludos!

No puedo garantizar que funcione porque el GM tiene una forma extra?a de manejar la entrada del teclado, pero que tal as?:
[gml]do {
    draw_text(x, y, "Pausa");
    keyboard_wait();
} until (keyboard_lastkey == vk_enter)[/gml]
Es posible que tengas que poner un io_clear() y/o un io_handle() por ah? para que funcione, y tal vez un screen_refresh() si el texto no se muestra.
Vim.

Intente de varias maneras, pero siempre se me queda el pausa y no puedo ni siquiera cerrar el juego.

Si en algun momento alguien tiene tiempo, le agradeceria que me pase una pieza de codigo probada que ande, es que todavia no me manejo muy bien para arreglar piezas de codigo que no son mias.

Gracias Wadk, espero que me puedan terminar de ayudar :D

El c?digo que te ha puesto Wadk deberia funcionarte bien, si bien es cierto que le haria falta el screen_refresh si lo vas a usar en cualquier otro evento aparte del draw.

Le pusiste alguna condici?n? ponerlo como esta en un evento repetitivo, como el draw, causaria que entrara en pausa constantemente, si ese es el problema prueba a ponerle un if keyboard_check_pressed(vk_enter) al principio.

#4 Octubre 05, 2011, 11:02:55 PM Ultima modificación: Octubre 06, 2011, 12:10:42 AM por Topet
Que extra?o, a mi me ha funcionado perfectamente, tal como dijo Wadk, solo le falta un screen_refresh() antes del keyboard_wait() para que muestre el texto.

Saludos

EDIT:No habia visto que habias respondido Killer, con las fallas de mi conexion ya ni me aviso que alguien habia respondido mientras yo escribia mi mensaje XD

Perfecto, con todo lo que dijeron ya lo logre arreglar, quedaria asi:

[gml]
if keyboard_check_pressed(vk_enter)
{
do
{
  draw_text(x, y, "Pausa");
  screen_refresh();
  keyboard_wait();
}
until (keyboard_lastkey == vk_enter)
}
[/gml]

Ahora me gustaria entender bien como funciona porque no lo comprendo del todo, alguno me ayuda a entenderlo?

La funci?n keyboard_wait paraliza el juego hasta que se presione alguna tecla, al ponerla en el bucle do until y poniendo como condici?n que la ?ltima tecla presionada sea enter garantizas que el juego se mantendra paralizado hasta que presiones enter, cualquier otra tecla har? que el bucle inicie de nuevo y vuelva a paralizar el juego en espera de otra tecla.

Cita de: Killer en Octubre 06, 2011, 01:21:56 AM
La funci?n keyboard_wait paraliza el juego hasta que se presione alguna tecla, al ponerla en el bucle do until y poniendo como condici?n que la ?ltima tecla presionada sea enter garantizas que el juego se mantendra paralizado hasta que presiones enter, cualquier otra tecla har? que el bucle inicie de nuevo y vuelva a paralizar el juego en espera de otra tecla.

Gracias por la explicacion, y gracias a todos por ayudarme :D