Contador de tiempo en BGE 2.7

Preguntas y respuestas relacionadas con el desarrollo de videojuegos y aplicaciones 3D interactivas, usando Blender Game Engine.
Responder
FRANJO
Mensajes: 92
Registrado: Mié Ene 21, 2015 7:03 am
Nombre: FRANCISCO JOSE

Contador de tiempo en BGE 2.7

Mensaje por FRANJO » Mar Abr 07, 2015 3:17 am

Bueno otra vez preguntando, pero hace poco que he empezado con BGE y tropiezo con cosas de las que no encuentro información. Estoy poniendo un contador de tiempo en pantalla, he encontrado un par de buenos tutoriales pero están para 2.4, y la secuencias python no funcionan en 2.7, y no encuentro manera de adaptarlas. He intentado manejar los datos time.time y time.clock pero aunque consigo verlos por la consola no consigo editarlos en la pantalla y menos en el formato hh:mm:ss. También me ha llamado la atención el formato en que estos datos están, un numero entero grande y decimal también, para el caso time.time, en time.clock, el entero es corto pero el decimal es largo. En el phyton que adjunto en el archivo.blend he conseguido separar los segundo (supongo) pero en el caso de los minutos la cifra es absurda, con todo no he conseguido verlos en pantalla. El .blend lleva dos contadores, uno para Kms que va asociado a la pantalla principal, y el que estoy intentando añadir. En el adjunto lo he dejado con otra opción, un contador basado en la frecuencia de pulsado, pero los segundos que salen comprobados con un cronometro no cuadran. Esto si que he podido sacarlo por pantalla, pero tampoco veo como pasarlos a los minutos. También creo que habría una posibilidad de utilizar la propiedad de juego timer, que es fácil de sacar en pantalla, pero su formato (un entero, supuestamente segundos y un decimal largo) y el dato en si no se como acceder y manejar en phython para editarlo.
Adjuntos

[La extensión blend ha sido desactivada y no se mostrará en adelante]


Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Contador de tiempo en BGE 2.7

Mensaje por soliman » Mar Abr 07, 2015 4:33 am

Yo de python ando muy escaso... :)
Pero te paso un enlace, donde puedes descargarte un blend que se llama TIMER 2.6 donde tienes tres ejemplos de Timer.
En el segundo, se ven los minutos segundos y décimas, donde yo he cambiado el valor de 10 (decimas) a 100, para que en el contador salgan dos cifras en el último lugar en lugar de una que son las décimas.
Blend, TIMER: https://sites.google.com/site/fisicomol ... ects=0&d=1

http://www.fisicomolon.com/joomla/index.php/descargas
Adjuntos
Timer.jpg

FRANJO
Mensajes: 92
Registrado: Mié Ene 21, 2015 7:03 am
Nombre: FRANCISCO JOSE

Re: Contador de tiempo en BGE 2.7

Mensaje por FRANJO » Mar Abr 07, 2015 11:34 am

Gracias Soliman. Al ver el codigo python me asombra su simpleza y he estado cerca pero mi falta de conocimientos no me permitia obtener resultados. A pesar de todo he conseguido uno HH:MM:SS a base de impulsos, de todas formas voy a trabajar este que me gusta mas. Dejo el archivo del que he conseguido sin python por si alguien lo quiere utlizar. Hecho en falta un manual sencillo con los comandos de python, con ejemplos de su uso, esto lo que me ha faltado pues la mayoria de los que utilizaba me daban error por no saber.
Adjuntos

[La extensión blend ha sido desactivada y no se mostrará en adelante]


Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Contador de tiempo en BGE 2.7

Mensaje por soliman » Mar Abr 07, 2015 1:55 pm

Te refieres a la API de python para Blender ?
Abres blender y en la barra superior .. HELP > Python API Reference
Y te lleva a la página de python.
http://www.blender.org/api/blender_pyth ... 4_release/

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Contador de tiempo en BGE 2.7

Mensaje por soliman » Mar Abr 07, 2015 3:33 pm

Me a picado el gusanillo y he probado a ver que me salía a mi.
He creado un SENSOR de tipo Always (siempre) donde en la frecuencia le indico 60 que creo que es la correcta para que cada 60 impulsos sea un segundo
Una propiedad de INTERVALO para indicarle que va de 1 a 60
Y una propiedad donde le indico que cuando su valor sea cero, se le añadan 60 más...
Así ya tengo una continuidad.
Mas o menos lo mismo a los minutos, pero en la frecuencia multiplico 60 por 60 y pongo 3600

Y en las horas he hecho un experimento, que no se si va a funcionar, pues no pienso estar una hora esperando a ver si cambia.
Se tra de una propiedad que he enlazado con los minutos, por la cual cuando el valor de los minutos sea CERO se reste UNO a las horas.

Espero que te sirva para practicar.
Adjuntos

[La extensión blend ha sido desactivada y no se mostrará en adelante]


Responder