Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: rogerskate en Mayo 22, 2014, 10:41:56 PM

Título: ¿Como introducir datos sin usar el get_string? Respondan porfisss :'(
Publicado por: rogerskate en Mayo 22, 2014, 10:41:56 PM
He llevado semanas tratando de que me respondan pero no me responden -_- alguien me podria explicar como hacerlo? por favor  :'(  :'(  :'(  :'(  :'( solo quiero introducir un nombre sin usar el get_string T.T
Título: Re:¿Como introducir datos sin usar el get_string? Respondan porfisss :'(
Publicado por: penumbra en Mayo 22, 2014, 11:15:35 PM
get_string es una función que sólo debe usarse para cuestiones de depuración (dubugging), no en un juego lanzado al público. La función "normal" para aceptar  entrada por teclado es get_string_async(), es una función asíncrona, por lo que debes usar un evento asíncrono de diálogo para manejar la entrada del usuario, el problema es que el cuadro de diálogo que aparece no es personalizable.

Si quieres un sistema propio, con cuadros de texto a tu gusto, tienes que consultar
http://docs.yoyogames.com/source/dadiospice/002_reference/mouse,%20keyboard%20and%20other%20controls/keyboard%20input/index.html (http://docs.yoyogames.com/source/dadiospice/002_reference/mouse,%20keyboard%20and%20other%20controls/keyboard%20input/index.html)

Concretamente, lo que quieres hacer se puede implementar usando una o varias de las funciones

keyboard_lastkey
keyboard_lastchar
keyboard_string
Además de las funciones de cadena que son muy necesarias en estos casos.
http://docs.yoyogames.com/source/dadiospice/002_reference/strings/index.html (http://docs.yoyogames.com/source/dadiospice/002_reference/strings/index.html)

No es difícil, pero es laborioso, porque con las funciones básicas de GM tienes que hacer algo como un "mini bloc de notas". Es decir, tienes que controlar TODOS los aspectos básicos de un editor de texto:

-capturar lo que el usuario teclea, guardarlo en variable.
-Definir un área específica dónde mostrar la entrada de texto (definir la zona en pantalla donde se muestra el texto que el usuario va introduciendo)
-Si el texto introducido es muy largo y no cabe en el ancho de la pantalla, dividir la cadena en secciones que ocupen el ancho de la ventana (con el obligatorio cálculo de coordenadas)
-Implementar el comportamiento de SHIFT/BLOQ MAYUS para escribir en mayúsculas
-Implementar un objeto cursor que te indique en dónde está colocado el cursor
-Implementar el movimiento del cursor con las flechas o el mouse
-Implementar el borrado de caracteres al presionar SUPR o BACKSPACE

Eso por mencionar sólo lo más básico, otras opciones serían validar la entrada, usar acentos y caracteres especiales, implementar copiar y pegar, etc.
Título: Re:¿Como introducir datos sin usar el get_string? Respondan porfisss :'(
Publicado por: rogerskate en Mayo 22, 2014, 11:20:31 PM
DDDDDDDD: Algun ejemplo en editable a la mano? te lo agradeceria :)