Hola GAMEMAKER@S !!
¿Existe alguna forma de poder mostrar la hora real en el juego?
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
Se me ocurrio esta idea pero no se que tan buena sea: mira
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?
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
Lo he visto.
Pero no actualiza el tiempo.
Es decir los segundos no pasan, ni los minutos y seguramente tampoco las horas.
Ahora, mira este. :D
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?
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
Ansioso estaré a la espera... :D
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.
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,
Si lo necesitas en :GMS: también te dejo un ejemplo :D
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
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.
Solucionado !!
Cambiando en el evento DRAW:
draw_text(view_xview+10,view_yview+10,myhour+":"+myminute+":"+mysecond);
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.