questo potrebbe andar bene ..
nella libreria c'è un mc concatenato come 'sfondo' che corrisponde appunto allo sfondo 
fotogramma 1 -> azioni:
codice:
stop();
function myRandom(minVal, maxVal) {
do {
var r = Math.random();
} while (r == 1);
return minVal+Math.floor(r*(maxVal+1-minVal));
}
attachMovie('sfondo', 'sfondo', 1, {_x:0, _y:0, larghezza:400, altezza:200});
createEmptyMovieClip('maschera', 2);
maschera._x = 0;
maschera._y = 0;
maschera.targ = this.sfondo;
//incrementa questa variabile per blocchi più piccoli
maschera.grandezzaBlocchi = 10;
maschera.creaBlocchi = function() {
this.griglia = new Array();
var k = 0;
for (i=0; i<maschera.grandezzaBlocchi; i++) {
for (j=0; j<maschera.grandezzaBlocchi; j++) {
this.griglia[k] = new Object();
this.griglia[k].x = i;
this.griglia[k].y = j;
k++;
}
}
this.blockCount = 0;
myINT = setInterval(maschera.disegnaBlocchi, 3);
};
maschera.disegnaBlocchi = function() {
maschera.createEmptyMovieClip('block'+blockCount, blockCount);
maschera.pick = myRandom(0, maschera.griglia.length-1);
//con l'istruzione with l'oggetto mcMask viene controllato per la proprietà specifica
with (maschera['block'+(blockCount++)]) {
var w = sfondo.larghezza/maschera.grandezzaBlocchi;
var h = sfondo.altezza/maschera.grandezzaBlocchi;
_x = _parent.griglia[maschera.pick].x*w;
_y = _parent.griglia[maschera.pick].y*h;
beginFill(0x000000, 100);
lineTo(w, 0);
lineTo(w, h);
lineTo(0, h);
lineTo(0, 0);
endFill();
}
maschera.griglia.splice(maschera.pick, 1);
if (maschera.griglia.length == 0) {
clearInterval(myINT);
}
};
sfondo.setMask('maschera');
maschera.creaBlocchi();