¡Buenas! pasaba por aquí para hacer algunas preguntillas, pero bueno poco a poco.

Estaba pensando en como programar un menú desplegable para mi app y se me ocurren varias formas, pero no creo que sean las mas adecuadas. Me gustaría saber de que forma lo haríais vosotros. No sé, ¿quizá para las opciones del menú se podría usar un array y una función que pinte ese array? Pero.. ¿se puede detectar click sobre texto? Como si fuera un enlace quiero decir. Igual me estoy respondiendo yo solo pero bueno, me gustaría saber como lo haríais por aquí.

Un saludo y gracias!

Sí podrías usar un arreglo, y con un ciclo comprobar si se clickea alguna opción. Algo así:
[gml]
menu[0] = "Guardar";
menu[1] = "Cargar";
menu[2] = "Nuevo";

clic = -1;

for(var i = 0; i < array_length_1d(menu); i++)
{
    draw_rectangle(32, 32 +32*i, 224, 64 + 32*i, true);
    draw_text(36, 48, menu);
    if(mouse_check_button_pressed(mb_left))
    {
        if(point_in_rectangle(mouse_x, mouse_y, 32, 32 +32*i, 224, 64 + 32*i)
            clic = i;
    }
}

if(clic > -1)
{
    switch(clic)
    {
        case 0: //Alguna acción para "Guardar"
        break;
        case 1: //Alguna acción para "Cargar"
        break;
        case 2: //Alguna acción para "Nuevo"
        break;
    }
}
[/gml]
alaberga regué el café.

BA:STFW&RTFM

Cita de: NiuWeb en Junio 16, 2017, 12:59:32 AM
Sí podrías usar un arreglo, y con un ciclo comprobar si se clickea alguna opción. Algo así:
[gml]
menu[0] = "Guardar";
menu[1] = "Cargar";
menu[2] = "Nuevo";

clic = -1;

for(var i = 0; i < array_length_1d(menu); i++)
{
    draw_rectangle(32, 32 +32*i, 224, 64 + 32*i, true);
    draw_text(36, 48, menu);
    if(mouse_check_button_pressed(mb_left))
    {
        if(point_in_rectangle(mouse_x, mouse_y, 32, 32 +32*i, 224, 64 + 32*i)
            clic = i;
    }
}

if(clic > -1)
{
    switch(clic)
    {
        case 0: //Alguna acción para "Guardar"
        break;
        case 1: //Alguna acción para "Cargar"
        break;
        case 2: //Alguna acción para "Nuevo"
        break;
    }
}
[/gml]

Muchas gracias! En cuanto termine lo que estoy haciendo lo probaré.

Ahora mismo tengo otra duda que me urge un poco mas, la verdad, a ver si consigo explicarme...
Estoy intentando acceder a los datos que hay dentro de un pbjeto, pero concretamente a los datos que hay dentro de todas las instancias de dicho objeto, por ejemplo:

- Si haces click en las instancias puedes seleccionarla, y una vez las tenga seleccionadas quiero poder trabajar únicamente con ellas, como por ejemplo... que detecte que instancias están seleccionadas y que borre solo esas, o que te permita actualizar solos esas instancias, etc...

Tengo la sensación de que es algo fácil de hacer pero no doy con la forma de hacerlo.