Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: RetMen9812 en Mayo 18, 2017, 11:29:20 PM

Título: Click en un texto
Publicado por: RetMen9812 en Mayo 18, 2017, 11:29:20 PM
Hola, me preguntaba si se podía hacer un código en el que, por ejemplo pongo: draw_text(x,y,"Azul") y quiero que cuando le des click a la palabra azul pase algo. No se si me entienden pero si lo hacen porfavor contesten bye ;) :GMS:
Título: Re:Click en un texto
Publicado por: Clamud en Mayo 19, 2017, 02:22:23 AM
Tal vez te sirve este script:
[gml]
///boton_texto( x,y, c1,c2,c3, texto );
/*              0 1  2  3  4   5
x,y: posicion del texto
c1: color normal
c2: color cuando el puntero esta encima
c3: color al ser presionado
texto: cadena a mostrar
*/

var _x,_y,_w,_h;
_x = argument0;
_y = argument1;
_w = string_width( argument5 );
_h = string_height( argument5 );

if( mouse_x > _x
and mouse_x < _x+_w
and mouse_y > _y
and mouse_y < _y+_h ) //si el puntero esta dentro del texto
{
    if mouse_check_button_pressed( mb_left ) //si se ha hecho click
    {
        draw_set_color( argument4 ); //color al presionar
        draw_text( _x,_y, argument5 ); //dibujar texto
        return true; //se ha presionado
    }
    else //si no se ha hecho click
    {
        draw_set_color( argument3 ); //el puntero esta encima
        draw_text( _x,_y, argument5 );
        return false;
    }
}
else //el puntero no esta dentro del texto
{
    draw_set_color( argument2 ); //color normal
    draw_text( _x,_y, argument5 );
    return false;
}
[/gml]

Se debe poner en el evento Draw:
[gml]
if boton_texto( x,y, color1,color2,color3, "Texto" )
{
  // Acciones
}
[/gml]