[Blender] Escribir cuando el juego está corriendo BGE

Buenas, el sensor Keyboard tiene otro modo de funcionamiento y es que, sirve para guardar en una propiedad los caracteres introducidos en el teclado.

Target: Sirve para introducir el nombre de la propiedad, de tipo String, donde se almacenarán los caracteres introducidos.

LogToggle: Este campo sirve para introducir el nombre de la propiedad de tipo Bol que controlará cuando se guardan los caracteres y cuando no.

Si la propiedad es TRUE se guardarán los caracteres y si es FALSE no se guardarán.

Este modo de funcionamiento no interfiere con el normal del sensor y se pueden realizar simultáneamente.

En el script adjunto, en el cubo, tenemos 2 propiedades una llamada extode tipo String que servirá para guardar el texto introducido y otra de tipo Bol que nos servirá para decidir cuando se puede guardar el texto (True) o cuando no (False).

He añadido un sensor Keyboard conectado a un controlador y un actuador Property.

El sensor Keyboard está configurado para activarse al pulsar la tecla Intro y este está conectado a un actuador Property en modo Toggle, que lo que hará será conmutar.

El valor de la propiedad controlconsiguiendo así activar y desactivar la escritura de caracteres en la propiedad exto.

La propiedad controlestá inicializada en False.

Si lanzamos el juego no podremos escribir nada porque controles False, pulsaremos Intro y entonces control será verdadero (True), en este caso ya podremos escribir en la ejecución del juego. Si volvemos a pulsar Intro, la propiedad controlvolverá a ser (False) y no podremos escribir.

Si durante el juego pulso la tecla Intro y escribo Juani el cubo cambiará de color, si escribo Paco el cubo rotará, podemos hacer lo que queramos. Saludos.

Ver más sobre el tema y los comentarios en el foro