Bonsoir à toutes et à tous,
je suis en train d'adapter un diaporama en as2 que j'ai trouvé sur le net.
Ce diaporama n'était pas configuré pour lisser les images loadées via un
Code ActionScript :
, par conséquent j'ai modifié ce diaporama en changeant le
Code ActionScript :
par un
Code ActionScript :
afin de pouvoir donc lisser les images loadées. La méthode fonctionne bien, seul bémol survenant : les images loadées se superposent les unes sur les autres au fur et à mesure du loading, alors que lorsque les images étaient chargées en
Code ActionScript :
, chaque image loadée remplaçait la précédente dans le clip conteneur, ce qui n'est malheureusement plus le cas dorénavant.
Je cherche donc la solution qui permettrait d'écraser l'image loadée afin de conserver les paramètres du redimensionnement de chaque image, car évidemment le fait que les images se superposent fout totalement en l'air le code pour redimensionnser l'image loadée :(...
Bref, si vous avez des suggestions n'hésitez pas car pour l'instant je rame.
Voici la partie de mon code où je loade l'image :
Code ActionScript :
function loadFull(imgToLoad, desc){
import flash.display.*;
var holder:MovieClip = transBG_mc.picBG_mc.empty_mc;
holder._alpha = 0;
function loadBitmapSmoothed(url:String, cible:MovieClip) {
var bmc:MovieClip = cible.createEmptyMovieClip("bmc", cible.getNextHighestDepth());
var listener:Object = new Object();
listener.tmc = cible;
listener.onLoadInit = function(mc:MovieClip) {
mc._visible = false;
var bitmap:BitmapData = new BitmapData(mc._width, mc._height, true);
this.tmc.attachBitmap(bitmap, this.tmc.getNextHighestDepth(),"auto",true);
bitmap.draw(mc);
};
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(listener);
loader.loadClip(url, bmc);
}
loadBitmapSmoothed(imageDir+imgToLoad, holder);
var temp = holder._parent.createEmptyMovieClip("temp", holder._parent.getNextHighestDepth());
temp.onEnterFrame = function() {
var loaded = holder.getBytesLoaded();
var total = holder.getBytesTotal();
var perc = Math.round((loaded/total)*100);
//trace(perc);
if(perc == 100) {
// hide the preloader
transBG_mc.preloader_mc.alphaTo(0, 1, "linear", 0, function() { transBG_mc.preloader_mc.removeMovieClip(); });
//trace(holder._width);
checkImageWidth(holder, desc);
delete this.onEnterFrame;
temp.removeMovieClip();
}
}
}
Merci :)
BBFUNK01