Mayo 30, 2014, 11:22:48 PM Ultima modificación: Junio 03, 2014, 09:16:25 PM por Marth
¿Incluye Game Maker alguna función que permita pausar el juego?
Yo suelo usar para pausa la función "show message", pero tiene el inconveniente de que si estaba el juego en modo "fullscreen" lo deshace, por lo que quisiera saber si hay algún modo de pausar un juego sin que cause ese inconveniente.

si game meker tiene esa función  si tienes todas la librerias

pero yo nose mucho de game maker si supiera te dijera un codigo para eso pero buscare para ti ese codigo  ;)

#2 Mayo 31, 2014, 12:19:39 AM Ultima modificación: Mayo 31, 2014, 12:27:42 AM por am3500
para crear un boton de pausa  :-[ :D

1
Haz clic derecho en la carpet
Citar"Ojects"
(objetos) en el panel de ventana izquierdo y selecciona
Citar"Create Obkect"
(crear objeto).

2
Haz clic en el icono de la página al lado del campo de duende en la ventana de Nuevo Objeto y selecciona la imagen que quieres usar. El duende que uses determinará cómo lucirá el botón de pausa en el juego.


3
Haz clic en
Citar"Add Event"
(agregar evento) en la parte de abajo de la ventana de Nuevo Objeto.

4
Haz clic en el botón
Citar"Mouse"
y selecciona
Citar"Left Pressed"
"Left Pressed" (presión izquierda) del menú desplegable.

5
Haz clic en "Control" en la parte derecha de la ventana de Nuevo Objeto y arrastra en icono de Ejecutar Código en la ventana de Acciones. Haz doble clic en
CitarExecute Code
(ejecutar código) en la ventana de Acciones.

6
Agrega el siguiente codigo: screen_refresh(); keyboard_wait(); io_clear();

7
Haz clic en el cheque verde en la esquina superior izquierda de la ventana Ejecutar Código para guardar el código GML. Haz clic en "OK" para guardar el botón de pausa.

8
Abre la ventana "Rooms" (espacios) y haz doble clic en "Objects" (objetos). Haz clic dentro de la caja gris u selecciona el objeto de pausa del menú. Haz clic dentro de la ventana del juego y coloca el botón donde desees. Haz clic en el cheque verde en la esquina superior izquierda de la ventana de Editar Espacio para guardar los cambios. Haz clic en la flecha verde en la barra de herramientas principal del juego para probarlo. Cuando haces clic en el botón, el juego se pausa. Presionar cualquier tecla lo reanudará.

En el event draw coloca esto.
if keyboard_check_pressed(vk_enter)
{
do
{
draw_text_transformed_color(view_xview[0]+460, room_height/2, "Pausa",3,3,0,c_blue,c_white,c_green,c_yellow,1);
screen_refresh();
keyboard_wait();
}
until (keyboard_lastkey == vk_enter)
}

#4 Mayo 31, 2014, 07:13:28 PM Ultima modificación: Mayo 31, 2014, 07:36:17 PM por yokaiworld
este codigo de arriba no sirve en el studio :-X


pero esto si descargalo:


Entre unos que no se explican con claridad lo que dicen y otros que sugieren cosas que no sirven en mi versión del Game Maker, no vamos a ninguna parte. :-X

El problema grave ERES TU... pùes yo no veo la version del game maker que usas en la pregunta, solo veo un documento, icono que se usa para guiones... Por eso es que se coloca el icono de la version de gm que se usa al preguntar.

Ups. :-[
Mi versión es la Studio.

hey ya chequeaste los archivos que te puse debajo de mi primer post:
Game_Maker_pause_tutorials.zip estan en game maker 8 pero son faciles de seguir

#9 Junio 02, 2014, 09:08:12 PM Ultima modificación: Junio 02, 2014, 09:15:24 PM por Marth
He intentado probar esos programas, pero hay un problema: Tiene funciones que solo funcionan en Game Maker 8 pro, y como yo no tengo eso, se me impide ejecutar el programa.
Creo que lo más cómodo es subir el programa en importación, por que me permitiría directamente probarlo en mi versión de Game Maker (que es la versión Studio), y no hacerlo a través de Game Maker 8, con las molestias e inconvenientes que conlleva.
Aunque sufriendo un poco al final ya lo he entendido: creo un objeto que tenga un evento en el que al pulsar una tecla, lo desactivo todo (excepto el objeto "pausador"), y luego pulsando otra tecla hago que ese objeto vuelva a reactivar los objetos.

2 sprite

sprite_pause
sprite_continuar

2 obj
obj_pause         //left pressed --save the game y le pones pause ----goto-room_pause --
obj_continuar    //left pressed --load  the game y le pones pause

ahora creas la room_pause y hay pones el obj_continuar y el menu inicio el obj_pause

suerte

Play is Life.

Pero ahora hay otro problema: Al desactivar los objetos, ya nada se muestra en pantalla.
En el ejemplo que me enviasteis había un arreglo para ello aprovechando una función que creaba una variable que almacenaba como estaba la pantalla en ese momento (plan fotografiar), pero esa función de Game Maker 8 pro ya no esta disponible en Game Maker Studio. ¿Hay otra función que la sustituya?

Todo lo que el juego dibuja se envía a la application surface, mediante la variable application_surface tu accedes a esa superficie y se puede usar como cualquier otra superficie., por ejemplo

sprite_create_from_surface(application_surface,x,y,ancho,alto, remover fondo, suavizar bordes, xorigin, yorigin)

Si tienes dudas te recomiendo consultar el tutorial que incluye GM:S sobre el uso de la application surface

Otro método (que también implica usar superficies) es usar la variable view_surface_id[] que asigna una vista a una superficie, superficie que luego se dibuja en DRAW GUI

Aun soy nuevo y no entiendo muchas de las funciones que me ponéis. :-X
Añádele que el tutorial que tenéis aquí es de cuando Game Maker 6, por lo que claramente hay ya mucho cambiado en Studio.
¿Que hace exactamente "sprite_create_from_surface"?

sprite_create_from_surface crea un nuevo sprite en el juego a partir del contenido de una superficie. Según penumbra la variable application_surface en Studio es la superficie que al final se dibuja en pantalla, es decir la que contiene todo lo que ves.

Lo que tendrías que poner es, en el evento create de tu objeto pausa:
[gml]
background = sprite_create_from_surface(application_surface, view_xview[0], view_yview[0], view_wview[0], view_hview[0], false, false, 0, 0);
instance_deactivate_all(true);
[/gml]

En el evento draw:
[gml]
draw_sprite(background, 0, view_xview[0], view_yview[0]);
// Acá podés dibujar el menú de pausa, si querés.
[/gml]

Y en destroy:
[gml]
sprite_delete(background);
instance_activate_all();
[/gml]

Después creás el objeto para pausar el juego, y lo destruís para sacar la pausa.

Verificá bien el nombre de las funciones y el orden de los parámetros porque puede que me falle la memoria.
Vim.