Mayo 29, 2014, 10:29:29 PM Ultima modificación: Mayo 29, 2014, 10:32:47 PM por rogerskate
Hola he estado muy angustiado por que no he resuelto mi incognita, estoy frustrado solo por no saber como ponerle un nombre a mi personaje tipo pokemon, o similar... el caso es que quiero algo así pero en game maker:



O simplemente teclear y que vaya apareciendo, espero que me ayuden por favor, si alguien tiene un script o un ejemplo se lo agradezco, por favor los amo!♥ :'(
.:RoskGames:.

Una manera fácil es usando la variable "keyboard_string". Es una variable donde se va acumulando todo lo que escribes con el teclado.

Antes de pedir el nombre haz:
keyboard_string=""
Para que no tenga nada que hayas podido escribir antes. (En el evento Create mismo).

Luego en el evento Draw haces que dibuje el texto contenido en esa variable:
draw_text(cordenada_x,cordenada_y,keyboard_string)

Y finalmente en el evento Keyboard Press Enter (o el botón que sea) pones:
global.nombre=keyboard_string

Y a partir de entonces cada vez que quieras hacer referencia al nombre del usuario en el juego simplemente usa la variable global.nombre.


Espero haberte ayudado, un saludo!

Wooo gracias man! me sirvió de mucho, pero ahora quiero saber como hacer para que tenga un limite de caracteres, es decir, si por ejemplo quiero que al tener las 15 letras marcadas no deje escribir mas, pero si que pueda borrar y/o modificar, me puedes ayudar en eso?
.:RoskGames:.

Cita de: rogerskate en Junio 02, 2014, 02:58:46 PM
Wooo gracias man! me sirvió de mucho, pero ahora quiero saber como hacer para que tenga un limite de caracteres, es decir, si por ejemplo quiero que al tener las 15 letras marcadas no deje escribir mas, pero si que pueda borrar y/o modificar, me puedes ayudar en eso?

Aqui lo tienes, ponlo en el <draw> o <step>.

if string_length(keyboard_string)>15
{
keyboard_string=string_copy(keyboard_string,0,15)
}


Ahora bien, con esto si el string ocupa 15 caracteres y pulsas una letra más (sin soltarla) se añade al texto y luego desaparece al soltar esa tecla.
(Si no me he explicado bien, para que lo entiendas prueba tu mismo el juego con el código que te he dado e intenta escribir más de 15 carácteres para que veas qué ocurre).

Así que la función hace lo que tiene que hacer pero puede que no quede muy profesional.
Para evitar eso, en el draw_text de antes, en vez de hacer draw_text(x,y,keyboard_string), haz esto:

draw_text(cordenada_x,cordenada_y,string_copy(keyboard_string,0,15))

Y así te aseguras de que siempre muestre únicamente los 15 carácteres.

Espero que te haya servido,
Un saludo!

Eres el P#T# AMO! Yo probaba con diferentes cosas y no me salia, por ejemplo, si el tamaño era mayor a 11 entonces copiaba la cadena, la eliminaba y pegaba la copia y nada, intente buscar como hacer un tipo cursor con el string_pos, pero no servía para nada por que no era para eso, intente otras cosas más y no me daba resultado, ahora estoy entendiendo más sobre estructuras de datos y de cadenas, espero mejorar en el futuro, gracias por tu colaboración, saludos!!

PD:Te pondre en los creditos man, te debo una xD. Chau.
.:RoskGames:.