Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: eams1986 en Febrero 02, 2014, 07:01:06 PM

Título: evento remplazar SLEEP zzz
Publicado por: eams1986 en Febrero 02, 2014, 07:01:06 PM
estoy tratando de probar esto pero no funciona no se cual sera el problema.

en event Create.
instance_deactivate_all(self);
alarm[0]=seconds*room_speed;

en la Alarm[0]
instance_activate_all();

quiero que se me pare el juego por un rato como cuando el SLEEP zzz
en seconds he puesto 30 o 60 pero se me queda en blanco la pantalla o es que tengo que crear un nuevo objeto.
Título: Re:evento remplazar SLEEP zzz
Publicado por: 7sixerCF en Febrero 02, 2014, 08:20:34 PM
Por que no quieres usar sleep ?
Título: Re:evento remplazar SLEEP zzz
Publicado por: penumbra en Febrero 02, 2014, 08:35:05 PM
¿Y por qué motivo la alarma se debería ejecutar si antes desactivaste TODAS las instancias?
Título: Re:evento remplazar SLEEP zzz
Publicado por: 7sixerCF en Febrero 03, 2014, 02:05:31 AM
Cita de: penumbra en Febrero 02, 2014, 08:35:05 PM
¿Y por qué motivo la alarma se debería ejecutar si antes desactivaste TODAS las instancias?

es cierto  XD XD XD no me percate de que ese codigo es completamente inutil detienes todas las instancias y por ende no aran nada men :ccccc es como matar a todos tus trabajadores y luego mandarlos a trabajar....
Título: Re:evento remplazar SLEEP zzz
Publicado por: DarkKRuleR en Febrero 03, 2014, 02:13:32 AM
[gml]instance_deactivate_all(self);[/gml]

or...

[gml]instance_deactivate_all(true);[/gml]

arregla eso y nos cuentas :)

a lo mejor quiere hacer sleep para todo excepto para el propio objeto, que siga haciendo cálculos mientras los demás duermen, para eso no le sirve el sleep ^_^

PD: si multiplicas seconds por room_speed (pongamos 30), seconds no puede valer 30, entonces daria 900, dormiría... medio minuto? seconds debería ser 1, 2, 3...
Título: Re:evento remplazar SLEEP zzz
Publicado por: eams1986 en Febrero 03, 2014, 03:19:12 AM
Voy a probar a ver que tal..
Título: Re:evento remplazar SLEEP zzz
Publicado por: eams1986 en Febrero 03, 2014, 07:25:14 AM
Gracias esta ves Funka le cambie a true y va de maravilla
Título: Re:evento remplazar SLEEP zzz
Publicado por: shaq145 en Febrero 03, 2014, 12:27:06 PM

Hola,

La función sleep está obsoleta en GMStudio...se debe hacer por alarms. En versiones anteriores supongo que si funciona...

saludos
Título: Re:evento remplazar SLEEP zzz
Publicado por: eams1986 en Febrero 08, 2014, 08:04:40 AM
eso si mi amigo por eso busco la solucion de esto de sleep .
Título: Re:evento remplazar SLEEP zzz
Publicado por: adrinator8 en Junio 25, 2015, 08:12:35 PM
 :GMS:eams1986 pordrias poner ese codigo corregido aquí esque tengo el mismo problema que tu y no se como lo has echo
Título: Re:evento remplazar SLEEP zzz
Publicado por: Betox en Junio 26, 2015, 06:22:53 AM
Me paso lo mismo al pasar algunos proyectos de GMS8.1 a GMS. No se porque cuernos sacaron esa funcion tan util. Ahora tengo un desman de errores . :(
Título: Re:evento remplazar SLEEP zzz
Publicado por: shaq145 en Junio 29, 2015, 10:49:22 AM

Se puede simular el sleep por código, en este caso en un script. Creas un script con el nombre que quieras, por ejemplo Sleep y pones este código:

//Sleep (ms). ms son los milisegundos
var time= current_time, ms=argument0;

do {} until (( current_time-time) >= round(ms)) {};
return (current_time-time);

Luego puedes hacer un Sleep(ms) en el juego.

saludos
Título: Re:evento remplazar SLEEP zzz
Publicado por: Clamud en Junio 29, 2015, 04:47:21 PM
Buen script shaq145, es genial.
Hice unas pruebas y noté que los eventos del teclado se siguen detectando mientras se ejecuta el script, cuando termina la pausa se ejecutan las acciones del teclado, hay que tener cuidado con eso.

También se puede escribir así:
[gml]
///sleep2( ms );
var tf = current_time + floor(argument0); //tiempo final
while( current_time < tf ){/*hacer nada hasta llegar al tiempo final*/}
[/gml]