He mirado en tu página y ya veo en qué contexto quieres hacerlo.
Como dice finvara encontraras bastante documentación buscando por memory game flash
De todos modos. Te esbozo el proyecto simple:
Un solo MC con todos los dibujos , la 1 dibujo, la 2 su palabra , la 3 dibujo la 4 su palabra........ y un ultimo frame con el dibujo del envés de la carta
duplicar el mc tantas veces como cartas y asignarlo a un array de MC´s mc[0], mc[1] etc.
mandar con gotoAndStop(n) a cada MC.
colocarlos el filas columnas en el escenario.
funciones:
iniciar : colocar las variables iniciales y datos
mezclar : baraja aleatoriamente el array de indices (nº de frame)
volver : mandar cualquier carta mc[n] a su frame final y si está en el frame final a su frame n
detector de evento mc.onPress : comprueba el numero de cartas volteadas,si hay 0 voltear , si hay 1 voltear y a comprobarPareja
comprobarPareja : comprueba que las volteadas sean un numero impar y el siguiente con la propiedad currentFrame y modulo % si no lo son voltear ambas.
y basicamente se acabó.
Se pueden añadir muchas pijadinas pero para lo que tu pretendes en tu Web palabras-dibujos es suficiente. Todo lo mas una función de exito y una animación al volteo.
Un ejemplito mio antiguo al que le falta muy poquito para lo que deseas.
Si te atascas postea.
Código :
iniciar();// llamaremos a esta función para generar un juego nuevo
// desde un boton
// Tenemos que colocar una instancia del movieclip en el
// escenario llamada Baraja que contenga NumFil * NumCol +1 frames de
// las Tamaño cartas y el envés
function iniciar(){
Baraja._visible=false;
// oculta la instancia original
Baraja._xscale= 55;
//ajustan si es necesrio la escala para que entre en el escenario
// si no necesario borrar
Baraja._yscale=55;
NumFil = 4;
NumCol = 10;
Tamaño = NumFil * NumCol;
xBase = Baraja._x;
// coordenadas del origen de las cartas
yBase = Baraja._y;
// fila 0 y columna 0
xEsp = Baraja._width * 1.07;
// crea distancia entre cartas de un 7% del ancho
yEsp = Baraja._height * 1.07;
// crea distancia entre cartas de un 7% del alto
ultima = NumCol* NumFil +1;// el frame del enves de carta
}
/* ahora efectuamos las llamadas a las funciones de
crear y mezclar las cartas asi como a aquellos efectos que
queramos y a la lógica del juego que también se controlará
desde aquí. */
crear();
mezclar();
function crear(){
/* duplicamos la instancia de Baraja n veces colocando
en filas y columnas . El sitio donde coloquemos
al inicio la instancia del MC Baraja será la posición
de la primera carta. */
bar = [];
// dimensión donde guardar el "sitio" donde está cada carta
pos = [];
// dimensión donde guardar la "carta" que está en cada sitio.
for (var i=1; i<=Tamaño; i++) {
bar[i] = i;
pos[i] = i;
Baraja.duplicateMovieClip("carta"+i, i);
// cada instancia a recibido el nombre: "carta1", "carta2"
// hasta "cartai" según el valor de i
eval("carta"+i).gotoAndStop(i);
// presenta la carta frame i
colocar(i,bar[i]);
//coloca en lugar inicial
}
}
function colocar(m,i){
pos[i]=m;
bar[m]=i;
var car=eval("carta"+m)
//coloca la carta "carta m" en el lugar i (fila*10+columna)
car._x = xBase + xEsp * ((i-1) % NumCol);
car._y = yBase + yEsp * Math.floor((i-1)/NumCol);
}
function volver(m){
//volver(34);Ejemplo:
// vuelve la carta 34 (frame 34) si la queremos volver
// a taparla hacemos la misma llamada: volver (34);
//Si ponemos volver(pos[34]), la carta que se dará la vuelta
//será la colocada en la posicion 34 en lugar de la carta 34
// se pasa un número de la carta(m) no el nombre
// Si está vista se invierte y si está tapada se ve
var car= eval("carta"+m);
car._currentframe==ultima ? car.gotoAndStop(m)
: car.gotoAndStop(ultima)
}
function mezclar(){
for (var i=Tamaño; i>0; i--){
alea=1+ Math.floor(i*Math.random());
var temp=bar[i];
bar[i]= bar[alea];
bar[alea]= temp;
// ha fabricado un array bar[] de orden aleatorio
colocar(i,bar[i]);
}
}