non avresti un link in cui vedere l'effetto realizzato fino ad ora? in modo da capire esattamente come ci si potrebbe muovere nel caso...
comunque non pensare che utilizzare la classe BitmapData al posto dei movieclip, sia molto meno dispendioso per la CPU... certo è che magari creando un'unica bitmap staresti in pratica muovendo una sola immagine invece che un tot di più
però in questo caso potresti "optare" per un draw() degli elementi composti attraverso i movieclip, eliminarli ed usare quell'unica immagine disegnata dall'insieme... non so se è molto chiaro quello che ho scritto in questa frase
... ti faccio un esempio per chiarire
Codice PHP:
import flash.display.BitmapData;
Stage.align = "TL";
Stage.scaleMode = "noScale";
Stage.showMenu = false;
// due immagini jpg in libreria concatenate come "imm1" e "imm2"
// entrambe le immagini hanno la stessa dimensione
// così posso creare una griglia regolare grazie a queste proprietà
var bmd1:BitmapData = BitmapData.loadBitmap("imm1");
var bmd2:BitmapData = BitmapData.loadBitmap("imm2");
var bgmc:MovieClip = this.createEmptyMovieClip("bgmc", 1);
var sx:Number = System.capabilities.screenResolutionX;
var sy:Number = System.capabilities.screenResolutionY;
var gx:Number = Math.round(sx/bmd1.width);
var gy:Number = Math.round(sy/bmd1.height);
var grid:Number = gx*gy;
var lx:Number = gx*bmd1.width;
for (var i:Number = 1; i<=grid; i++) {
var l:Number = i-1;
var r:Number = Math.round(Math.random())+1;
var p:MovieClip = (i>1) ? bgmc["m"+l] : null;
var m:MovieClip = bgmc.createEmptyMovieClip("m"+i, i);
m.attachBitmap(this['bmd'+r],1);
m._x = (p != null) ? ((p._x>=lx-bmd1.width) ? 0 : p._x+bmd1.width) : 0;
m._y = (p != null) ? ((m._x != 0) ? p._y : p._y+bmd1.height) : 0;
}
var bd:BitmapData = new BitmapData(sx, sy, true, 0x00FFFFFF);
bd.draw(bgmc);
var bgmc:MovieClip = this.createEmptyMovieClip("bgmc", 1);
bgmc.attachBitmap(bd,1);
bgmc.cacheAsBitmap = true;
con questa routine avremo in finale bgmc che è la nostra singola bitmap grande quanto le dimensioni dell'intero schermo (screenResolutionX e screenResolutionY)
>>Una domanda, come mai se imposto cacheAsBitmap = true, il blendMode (fusione) viene ignorata?
non mi risulta, però non ho provato con flash 8, ormai sto lavorando solo su CS3...