Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Eggshell en Abril 04, 2013, 01:32:48 PM

Título: Limitar ancho de keyboard_string
Publicado por: Eggshell en Abril 04, 2013, 01:32:48 PM
Hola amigos.
Tengo una duda que creí que no tendría (?), es decir, pensé que lograr lo que busco sería más fácil.
Quiero que cuando el jugador ingrese texto mediante el teclado, este se limite a un ancho predeterminado, y que continúe una línea más abajo.
Es exactamente lo mismo que draw_text_ext sólo que esta función no tiene efecto en el texto que ingresa el jugador, sino sólo a textos previamente establecido por el juego.

Dicho más claro, en el evento draw de un objeto ejecuto un script como el siguiente

draw_text_ext (32,128,keyboard_string,-1,150)

sin embargo al correr el juego e ingresar texto, escribe de forma ilimitada, sin hacer salto de línea.

¿Cómo puedo fijar el ancho del texto que ingresa el jugador para que continúe hacia abajo?

Espero ayuda.

Título: Re:Limitar ancho de keyboard_string
Publicado por: Johann en Abril 04, 2013, 09:50:53 PM
Por favor no uses letras rojas, tenemos usuarios daltónicos que no pueden leerlas.
Se que suena a broma pero es en serio.
Título: Re:Limitar ancho de keyboard_string
Publicado por: brunoxzx en Abril 04, 2013, 11:57:17 PM
Cita de: Maitreya en Abril 04, 2013, 09:50:53 PM
Por favor no uses letras rojas, tenemos usuarios daltónicos que no pueden leerlas.
Se que suena a broma pero es en serio.
Gracias, ya se me hacia raro que el post estubiera vacio  XD. Perdon no pude evitarlo, aunque por otra parte nunca habia considerado a los daltonicos, quizá algo como eso deberia estár en el reglamento.


Así lo haria yo, la variable largo es el numero de caracteres antes del cambio de linea, si lo quieres en pixeles avisa.
[gml]if ( string_length(keyboard_string) mod largo+1 ) == largo{
    keyboard_string=keyboard_string+"#";
}[/gml]
Título: Re:Limitar ancho de keyboard_string
Publicado por: Eggshell en Abril 06, 2013, 12:58:53 PM
Cita de: brunoxzx en Abril 04, 2013, 11:57:17 PM
Cita de: Maitreya en Abril 04, 2013, 09:50:53 PM
Por favor no uses letras rojas, tenemos usuarios daltónicos que no pueden leerlas.
Se que suena a broma pero es en serio.
Gracias, ya se me hacia raro que el post estubiera vacio  XD. Perdon no pude evitarlo, aunque por otra parte nunca habia considerado a los daltonicos, quizá algo como eso deberia estár en el reglamento.


Así lo haria yo, la variable largo es el numero de caracteres antes del cambio de linea, si lo quieres en pixeles avisa.
[gml]if ( string_length(keyboard_string) mod largo+1 ) == largo{
    keyboard_string=keyboard_string+"#";
}[/gml]

Gracias, funciona perfecto! Aunque al presionar la tecla de retroceso sólo se borran los caracteres de la misma línea, pero si la presionamos al comienzo de una línea no se borra la última letra de la línea de arriba. Por lo demás, está ok!