In questi giorni ho aiutato gli altri, adesso sono io ad avere bisogno di Voi e spero sarete gentili e disponibili come lo sono stata io

Il problema è questo:
voglio far visualizzare un'immagine attraverso una maschera dinamica.
quindi ho creato un clip vuoto con nome istanza "mask" sullo stage, all'interno del quale ho creato una griglia di tanti cuori animati che dovrebbero fare da maschera tutti insieme.
L'immagine ha come nome istanza "img_mc"
sulla time line ho messo il seguente codice:
codice:
//Funzione per attaccare un clip
function attaccaMc(nomeConcatMc, nomeMc, livello, x, y) {
	this.attachMovie(nomeConcatMc, nomeMc, livello);
	with (this[nomeMc]) {
		_x = x;
		_y = y;
	}
}
//Funzione che crea una griglia quadrata e memorizza le coordinate x, y dei punti in un array bidimensionale arr(x,y)
function create_grid(width_ceil, arr) {
	for (i=0; i<7; i++) {
		for (j=0; j<7; j++) {
			var mc_x = 20+width_ceil*j;
			var mc_y = 20+width_ceil*i;
			var point = new Array(mc_x, mc_y);
			arr.push(point);
		}
	}
}
img_mc.setMask(_root.mask);
all'interno del clip "mask" ho inserito nella timeline questo codice:
codice:
stop();
posizioneCuore = new Array();
var contatore = 0;
//Creo la griglia per posizionare le scatole
_root.create_grid(40, posizioneCuore);
nro_totale_cuori = posizioneCuore.length;
//Funzione che attacca e posiziona le scatole (in base alla griglia)
_root.onEnterFrame = function() {
	if (contatore<nro_totale_cuori) {
		_root.attaccaMc("cuore", "cuore"+contatore, contatore, _x, _y);
		var mc = _root["cuore"+contatore];
		mc._x = posizioneCuore[contatore][0];
		mc._y = posizioneCuore[contatore][1];
		contatore++;
	} else {
		delete _root.onEnterFrame;
	}
};
credo che il problema dipenda dai livelli, poichè faccio l'attach, ma non so proprio come risolverlo.
L'immagine non la visualizza ovviamente, ma invece che farmi vedere i cuori come maschera, vedo i cuori rossi.

Potete aiutarmi?