Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: empardopo en Agosto 29, 2018, 01:29:10 AM

Título: Cronómetro o tiempo en pantalla
Publicado por: empardopo en Agosto 29, 2018, 01:29:10 AM
 :GMS:

Buenas,

me gustaría que apareciera el tiempo que transcurre desde que le doy a jugar hasta que me matan. Es decir, que apareciera un marcador de tiempo corriendo en el formato MM:SS (minutos:segundos).

¿Sabéis como podría hacerlo y si ya hay algo hecho que se pueda integrar?

Muchas gracias

Título: Re:Cronómetro o tiempo en pantalla
Publicado por: BssString en Agosto 29, 2018, 02:10:21 AM
Hola empardopo

Haz un contador e increméntalo en cada step, cuando mueras lo haces cero y listo.

Create event:
tiempo = 0

Step event:
tiempo += 1

Luego lo dibujas como quieras, en gigante, como sprites, etc.
Draw event
var auxiliar = tiempo div room_speed //recive los segundos totales transcurridos. Ej: 150 segundos (2min y 30seg)
var mins = auxiliar div 60 //recibe los minutos transcurridos, ej: 2
var segs = auxiliar mod 60 //recibe el saldo de los segundos (de 0 a 59). Ej: 30
draw_text(0,0,string(mins)+":"+string(segs))


Al morir recuerda hacer tiempo = 0 y listo.

Edit: corregí una función en la variable auxiliar, de mod a div

Saludos
Título: Re:Cronómetro o tiempo en pantalla
Publicado por: empardopo en Agosto 29, 2018, 02:33:47 PM
Cita de: BssString en Agosto 29, 2018, 02:10:21 AM
Hola empardopo

Haz un contador e increméntalo en cada step, cuando mueras lo haces cero y listo.

Create event:
tiempo = 0

Step event:
tiempo += 1

Luego lo dibujas como quieras, en gigante, como sprites, etc.
Draw event
var auxiliar = tiempo div room_speed //recive los segundos totales transcurridos. Ej: 150 segundos (2min y 30seg)
var mins = auxiliar div 60 //recibe los minutos transcurridos, ej: 2
var segs = auxiliar mod 60 //recibe el saldo de los segundos (de 0 a 59). Ej: 30
draw_text(0,0,string(mins)+":"+string(segs))


Al morir recuerda hacer tiempo = 0 y listo.

Edit: corregí una función en la variable auxiliar, de mod a div

Saludos

Muchísimas gracias compi, me ha funcionado perfecto.

He modificado un poco porque no me gustaba que tanto los minutos como los segundos aparecieran con un sólo dígito así que lo he modificado; lo adjunto por si le sirve a alguien.


var auxiliar = tiempo div room_speed; //recive los segundos totales transcurridos. Ej: 150 segundos (2min y 30seg)
var mins = auxiliar div 60; //recibe los minutos transcurridos, ej: 2
var segs = auxiliar mod 60; //recibe el saldo de los segundos (de 0 a 59). Ej: 30
if (mins<=9) mins = string(0)+string(mins);
if (segs<=9) segs = string(0)+string(segs);
//draw_text(400,15,string(mins)+":"+string(segs));
draw_text_transformed(400,15,string(mins)+":"+string(segs),1.5,1.5,0);


Igualmente, me hacía falta un poquito más grande el texto así que he usado draw_text_transformed.

Saludos