Hola buenas!!
Me gustaría saber si alguien sabe alguna forma de crear este efecto teclado, que son diferentes letras sueltas que las vas pulsando y se van colocando, en el recuadro correspondiente.

Dejo una imagen para que me entendáis mejor!

Tengo en Play Store un juego que usa esa mecánica, por si quieres echarle un vistazo: https://play.google.com/store/apps/details?id=com.SeirLord_Games.Resuelve_Los_Acertijos&hl=es

Básicamente en un ini guardo las preguntas y las respuestas, luego en el juego tengo un script que coge la respuesta, y guarda cada letra en un array(Tambien calculo la longitud de la respuesta para colocar los huecos. Antes, tengo guardadas las posiciones de los huecos y botones en un array, y los botones tienen un array aparte que si no han sido creados, tienen "none". Así que en el código para colocarlas, lo que hago es un código que coja una posicion de boton aleatoria y que sepa si el boton esta creado, y si no lo está crearlo y asignarle una letra de la respuesta. Al terminar solo falta rellenar los otros botones con letras aleatorias.

Coger la respuesta y dividirla:


if ini_read_real(string(global.acertijo),"completado",0)=1 {
    respuesta=ini_read_string(string(global.acertijo),"respuesta","");
    scr_mostrar_respuesta();
} else {
    respuesta=ini_read_string(string(global.acertijo),"respuesta","");
    longitud=string_length(respuesta);
    ii=longitud;
    while ii>0 {
        letra[ii]=string_char_at(respuesta,ii);
        ii--;
    }



Colocar los huecos:


    ii2=1;
    pos=1;
    while ii2<=longitud {
        if string_char_at(respuesta,ii2)=" " {
            pos=12;
        } else {
            huecol=instance_create(posicion_x[pos], posicion_y[pos], obj_Acertijo_HuecoLetra);
            huecol.numero=ii2;
            pos++;
        }
        ii2++;
    }



Crear los botones con letras de la respuesta:


    ii3=1;
    huecos=13;
    while ii3<=longitud {
        if string_char_at(respuesta,ii3)!=" " {
            num=irandom_range(1,13);
            if hueco[num]="none" {
                hueco[num]=string_char_at(respuesta,ii3);
                boton=instance_create(hueco_x[num], hueco_y[num], obj_Acertijo_BotonLetra);
                boton.letra=string_upper(string_char_at(respuesta,ii3));
                ii3++;
                huecos-=1;
            }
        } else {
            ii3++;
        }
    }



Rellenar con letras aleatorias los que faltan:


    while huecos>0 {
        num=irandom_range(1,13);
        if hueco[num]="none" {
                hueco[num]=chr(irandom_range(97,122));
                boton=instance_create(hueco_x[num], hueco_y[num], obj_Acertijo_BotonLetra);
                boton.letra=string_upper(hueco[num]);
                huecos-=1;
        }
    }