Je travaille sur un jeu mobile utilisant Flash CS6 avec AIR. concevoir et coder sur la même plate-forme (sans utiliser de starling, etc.).Conversion de MovieClip en Bitmap avec Dispose()
Je convertis des MovieClips (statiques, non animés) en bitmap de façon dynamique et fonctionne correctement. Mais je réalise avec ce processus la mise en cache bitmapData sur la mémoire et avec de grandes formes il faut beaucoup de mémoire. Ensuite, je décide d'après ajouté à la scène effacer à bitmapData par disposer(). Mais il se retire de la scène et partout où il est montré.
Mon code;
var target:MovieClip = new Ex_mc2();
target.x=100;
target.y=300;
addChild(target);
var bounds:Rectangle = target.getBounds(this);
var bmpData:BitmapData = new BitmapData(Math.floor(bounds.width), Math.floor(bounds.height), true, 0);
var bmpMatrix:Matrix = target.transform.matrix;
bmpMatrix.translate(-bounds.x, -bounds.y); // Draw bitmap
bmpData.draw(target, bmpMatrix);
var bmp:Bitmap = new Bitmap(bmpData);
bmp.x=100;
bmp.y=300;
addChild(bmp);
removeChild(target);
//bmpData.dispose(); I want to use this and i dont want my bmp disappear
Recherche d'une solution pour une semaine mais je n'arrive pas à comprendre. Donc ma question est; Puis-je convertir movieClips en bitmap avec libération en mémoire?
Comme l'ajout d'un fichier png statique?
Merci, donc si je comprends bien, il n'y a pas de différence en ajoutant une étape sur PNG statique ou en convertissant movieclip en utilisant bitmapData? Et je dois faire face à l'utilisation de la mémoire? – mtilhan
Correct. Dans les deux cas, vous aurez un objet 'BitmapData' représentant des données d'image. –
merci pour l'explication. J'ai perdu toute ma semaine – mtilhan