Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: djboro88 en Agosto 19, 2015, 12:03:01 AM

Título: [SOLUCIONADO] Hora real en el juego
Publicado por: djboro88 en Agosto 19, 2015, 12:03:01 AM
Hola GAMEMAKER@S !!
¿Existe alguna forma de poder mostrar la hora real en el juego?
Título: Re:Hora real en el juego
Publicado por: jodidox en Agosto 19, 2015, 12:37:19 AM
Cita de: djboro88 en Agosto 19, 2015, 12:03:01 AM
Hola GAMEMAKER@S !!
¿Existe alguna forma de poder mostrar la hora real en el juego?

Bueno, te hice un ejemplo en .gm8 de como sería, pero el problema es que no se mueve, es decir, cuando inicias el juego muestra la hora, pero no se mueve junto al reloj
Título: Re:Hora real en el juego
Publicado por: jodidox en Agosto 19, 2015, 12:52:23 AM
Se me ocurrio esta idea pero no se que tan buena sea: mira

Título: Re:Hora real en el juego
Publicado por: djboro88 en Agosto 19, 2015, 12:53:19 AM
Me referia a la hora y minutos reales  XD

Lo suyo es que se actualizara cada minuto que pasa.
Ya que con los ejemplos, he visto que muestra la hora y minutos al iniciar, pero no se muestra "real" durante todo el tiempo que esta el juego abierto.

¿Alguna idea?
Título: Re:Hora real en el juego
Publicado por: jodidox en Agosto 19, 2015, 12:54:40 AM
Cita de: djboro88 en Agosto 19, 2015, 12:53:19 AM
Me referia a la hora y minutos reales  XD

Lo suyo es que se actualizara cada minuto que pasa.
¿alguna idea?

Mira el ultimo ejemplo
Título: Re:Hora real en el juego
Publicado por: djboro88 en Agosto 19, 2015, 12:57:46 AM
Lo he visto.
Pero no actualiza el tiempo.

Es decir los segundos no pasan, ni los minutos y seguramente tampoco las horas.
Título: Re:Hora real en el juego
Publicado por: jodidox en Agosto 19, 2015, 01:00:39 AM
Ahora, mira este.  :D
Título: Re:Hora real en el juego
Publicado por: djboro88 en Agosto 19, 2015, 01:09:18 AM
La vedad... ESTUPENDO !!  ;D
Una pregunta más... por rizar el rizo.

Para que en vez de 1h 8m se muestre con cero delante como el siguiente formato "01:08"
¿Como se podría conseguir?
Título: Re:Hora real en el juego
Publicado por: jodidox en Agosto 20, 2015, 01:01:08 AM
Creo que eso tiene que ver con el formato de hora que tenga el computador, o al menos eso entendí leyendo el manual. Quizás mas tarde miro y te paso otro ejemplo.  XD
Título: Re:Hora real en el juego
Publicado por: djboro88 en Agosto 20, 2015, 08:57:50 AM
Ansioso estaré a la espera...  :D
Título: Re:Hora real en el juego
Publicado por: Guacusio en Agosto 20, 2015, 02:07:26 PM
Lo que hizo jodidox es una forma de hacerlo pero no me parece que sea lo mejor confiar en el room speed para medir el tiempo ya que esa variable no tiene estabilidad asegurada. En vez de eso yo usaría las mismas funciones que puso en el evento create directamente.

El formato de la hora no lo da la configuración del PC, tú mismo se la puedes dar. Por ejemplo, para colocar un cero antes del dígito de hora, minuto o segundo si éste es menor a 10:

Evento step:
myhour = date_get_hour(date_current_datetime());
myminute = date_get_minute(date_current_datetime());
mysecond = date_get_second(date_current_datetime());

if mysecond<10
    mysecond="0"+string(mysecond);
else
    mysecond=string(mysecond);
if myminute<10
    myminute="0"+string(myminute);
else
    myminute=string(myminute);
if myhour<10
    myhour="0"+string(myhour);
else
    myhour=string(myhour);


Evento draw:
draw_text(x,y,myhour+":"+myminute+":"+mysecond);

Se puede optimizar más este código para hacer el cálculo de los minutos y horas nuevos sólo cuando cambie el valor de los segundos respecto a su valor en el step anterior, pero respondiendo a tu pregunta de cómo darle formato a la hora, esa es una amnera.
Título: Re:Hora real en el juego
Publicado por: jodidox en Agosto 20, 2015, 02:26:43 PM
Cita de: Guacusio en Agosto 20, 2015, 02:07:26 PM
Lo que hizo jodidox es una forma de hacerlo pero no me parece que sea lo mejor confiar en el room speed para medir el tiempo ya que esa variable no tiene estabilidad asegurada. En vez de eso yo usaría las mismas funciones que puso en el evento create directamente.

El formato de la hora no lo da la configuración del PC, tú mismo se la puedes dar. Por ejemplo, para colocar un cero antes del dígito de hora, minuto o segundo si éste es menor a 10:

Evento step:
myhour = date_get_hour(date_current_datetime());
myminute = date_get_minute(date_current_datetime());
mysecond = date_get_second(date_current_datetime());

if mysecond<10
    mysecond="0"+string(mysecond);
else
    mysecond=string(mysecond);
if myminute<10
    myminute="0"+string(myminute);
else
    myminute=string(myminute);
if myhour<10
    myhour="0"+string(myhour);
else
    myhour=string(myhour);


Evento draw:
draw_text(x,y,myhour+":"+myminute+":"+mysecond);

Se puede optimizar más este código para hacer el cálculo de los minutos y horas nuevos sólo cuando cambie el valor de los segundos respecto a su valor en el step anterior, pero respondiendo a tu pregunta de cómo darle formato a la hora, esa es una amnera.

Gracias Guacusio, aunque en el evento draw te hizo falta algo,

Evento draw:

draw_text(x,y,string(myhour) +" :"+ string(myminute) + " :"+ string(mysecond));


Así es que debe de ir el codigo,  :D

Dejo un ejemplo para mi amigo djboro88
Ya esta como tu quieres, si algo me avisas.

Saludos,

Título: Re:Hora real en el juego
Publicado por: jodidox en Agosto 20, 2015, 02:56:08 PM
Si lo necesitas en  :GMS: también te dejo un ejemplo  :D
Título: Re:Hora real en el juego
Publicado por: Guacusio en Agosto 21, 2015, 06:18:20 AM
Cita de: jodidox en Agosto 20, 2015, 02:26:43 PM
Gracias Guacusio, aunque en el evento draw te hizo falta algo,

Evento draw:

draw_text(x,y,string(myhour) +" :"+ string(myminute) + " :"+ string(mysecond));


Así es que debe de ir el codigo,  :D

XD

¡Pero si ya se pasaron a tipo string en el evento step! ...   :P
Título: Re:Hora real en el juego
Publicado por: djboro88 en Agosto 26, 2015, 06:42:53 PM
Funciona perfecto !!

Una ultima duda..
¿Como se puede mantener la hora fija?
Es decir, si el jugador se mueve por la room, que se mantenga siempre visible.
Título: Re:Hora real en el juego
Publicado por: djboro88 en Agosto 26, 2015, 06:51:23 PM
Solucionado !!

Cambiando en el evento DRAW:
draw_text(view_xview+10,view_yview+10,myhour+":"+myminute+":"+mysecond);
Título: Re:Hora real en el juego
Publicado por: jodidox en Agosto 26, 2015, 09:25:25 PM
Cita de: djboro88 en Agosto 26, 2015, 06:51:23 PM
Solucionado !!

Cambiando en el evento DRAW:
draw_text(view_xview+10,view_yview+10,myhour+":"+myminute+":"+mysecond);

Jejejeje SI, Es así de fácil :P Te iba a responder, pero que bueno que hayas encontrado la solución tu mismo.