Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: yokaiworld en Agosto 29, 2017, 07:13:38 AM

Título: escribir un texto y poder arrastrarlo y ubicarlo a placer?
Publicado por: yokaiworld en Agosto 29, 2017, 07:13:38 AM
 ??? ???
Título: Re:escribir un texto y poder arrastrarlo y ubicarlo a placer?
Publicado por: bygdle en Agosto 29, 2017, 08:08:20 AM
Podrías utilizar las funciones string_width() y string_height() para imaginar un rectángulo que rodee el texto y comprobar si se ha cliqueado. Adjunto ejemplo.
Título: Re:escribir un texto y poder arrastrarlo y ubicarlo a placer?
Publicado por: Arcadian en Agosto 29, 2017, 01:18:37 PM
Creas un objeto que capture el valor de keyboard_string en una variable local.
Le metes funciones para poder moverlo con el mouse a la posición dónde esté este ultimo.
Y luego, en otro objeto, metes un evento Draw que dibuje el valor de la variable local del 1er objeto.
Título: Re:escribir un texto y poder arrastrarlo y ubicarlo a placer?
Publicado por: DavidTheAnswerer en Agosto 30, 2017, 03:08:40 AM
Bueno, es algo bastante fácil.  ;)

Creas un objeto invisible del tamaño que vaya a tener tu texto y escribis el siguiente codigo:

Mouse enter:

if mouse_check_button(mb_left)
{
x=mouse_x
y=mouse_y
}


Draw:

draw_text(x,y,[tu variable])

Espero te haya ayudado! Saludos  ;D

:GMS:
Título: Re:escribir un texto y poder arrastrarlo y ubicarlo a placer?
Publicado por: Arcadian en Agosto 30, 2017, 06:42:51 AM
Cita de: DavidTheAnswerer en Agosto 30, 2017, 03:08:40 AM
Bueno, es algo bastante fácil.  ;)

Creas un objeto invisible del tamaño que vaya a tener tu texto y escribis el siguiente codigo:

Lástima que no sea tan fácil...  XD

Para empezar un objeto invisible, como propones, ignora las acciones en el evento Draw, aquí la ayuda de Yoyo:

no code placed in the Draw event will be run while the instance is not visible.

De todas formas no le veo problema en hacerlo visible, eso sí, igual hay que asignarle un sprite al objeto para que responda al evento mouse correctamente.