Saludos a Todos en la Comunidad

Miren necesito ayuda en esto, tengo un menu principal con varios botones , lo típico , como ( Jugar, Opciones, Salir, Créditos etc ), lo que necesito es tener una variable para declarar que al hacer dos clicks encima de cada uno, vaya al room destinado ( Eso es fácil ) lo dificil para mi es esto, que si ya eh hecho click en cualquiera de los otros botones el valor de aquel botón en su variable de clicks se reinicie a 0, para que solo ejecute la función del botón que se está presionando y vaya al room. Esta función esta en el juego de Metal Slug 3 , aquí un gif:
https://media.giphy.com/media/2sixLb9xZrxU6CUasj/giphy.gif
Estaba intentando con este código, que obviamente no funciona, para asignarle a cada boton una variable con un numero distinto, yo lo hago con objetos separados, pero me gustaria simplificarlo para que de un solo objeto se generaran todos estos botones.
Evento Create


global.seleccion = 1;

globalvar click1 ;
click1 = 0


Evento Left Button:

if global.seleccion != 2 {
       click2 = 0
     
    }
else {
click1++
if (click1 >= 2) {
      room_goto(menu_principal)     
      }  }
     


#1 Noviembre 19, 2018, 05:15:38 PM Ultima modificación: Noviembre 19, 2018, 06:22:44 PM por Johann
Puedes hacer un único botón que tenga variables como room_destino y seleccionado en el evento create, y una variable con el texto a mostrar
[gml]
seleccionado = false;
room_destino = "";
texto = "";
[/gml]
En el editor de rooms, cuando agregues un objeto de este tipo, le pones en el creation code lo correspondiente:
[gml]
room_destino = "room_opciones"; // o como se llame cada room
texto = "Opciones"; // lo que sale en el boton
[/gml]
Y cuando le hagas clic a un boton le quitas el seleccionado a todos y vuelves y lo pones a la instancia que has clickado, asi si haces clic a un botonya seleccionado, que te mande al room correspondiente:
[gml]
if mouse_check_button(mb_left) //o mejor directamente en el evento mouse left
{
  if seleccionado {
    room_goto(room_destino);
  } else {
    with (obj_button) {// o como se llame para deseleccionar cualquier otro boton que esté seleccionado previamente
      seleccionado = false;
    }
    seleccionado = true;
  }
}
[/gml]

obviamente en el evento draw del botón dibujas el botón y el texto de la variable texto según si esta seleccionado o no para que se vea mas grande como en el gif
Lo he puesto todo porque seguramente es diferente a lo que ya tengas hecho.
Cita de: Fenris78Si un tema os resulta de interes y veis que hay poca información, la mejor solucion no es quejarse o pedir sin pensar, sino sugerir algo bien planteado o aportarlo vosotros mismos.
Cita de: CalioSomos desarrolladores independientes y, por lo tanto, no tenemos por qué guiarnos por las tendencias del mercado.

Muchísimas Gracias Johann , por tomarte el tiempo , funciona a la Perfección !!