Buenas, cmo estan? el dia de hoy vengo con un problema ligado al draw text, sucede que tengo 4 objetos con un sprite transparente (el mismo para todos) donde se escribe texto segun ciertos eventos pero el texto siempre se escribe en la misma posicion de los objetos, mis problemas son.
1) Los objetos transparentes cuando hago clic realizan una accion determinada pero al escribir texto y hacer clic donde esta el texto no realiza la accion.
2) si el texto es muy largo empieza a aparecer desde mas atras aunque le coloque alineacion centrada, ¿como puedo hacer para que siempre salga desde la posicion de la imagen sin importar el largo del texto?
El sprite transparente sirve para definir el área en la que se puede hacer clic, verdad?
Puedes obtener el tramaño del texto con string_width y string_height. Después cambia la escala de la instancia par que todo el texto quepa en su área.
Ejemplo:
[gml]
// create
draw_set_font(fontX);
draw_set_halign(fa_center);
wSprite = 16; // anchura del sprite
wText = string_width("Mensaje a dibujar"); //anchura del texto
image_xscale = wText / wSprite; // ajustar escala
[/gml]
Para probar que la escala es correcta, usa un sprite sin transparencia primero (no olvides poner draw_self en el evento draw)
[gml]
// draw
draw_self();
draw_text("Mensaje a dibujar");
[/gml]