bitmap.dispose(); bitmap = new BitmapData(mc._width, mc._height, true);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionfunction loadFull(imgToLoad, desc){ var tofcharge = imageDir+imgToLoad; 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; bitmap.dispose(); 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(tofcharge, 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(); } } }
var bitmap:BitmapData;en-dehors de la fonction et en mettant ensuite
bitmap.dispose(); bitmap = new BitmapData(mc._width, mc._height, true);et bien ça fonctionne, les images ne sont plus loadées les unes sur les autres. Bon ceci dit ça me génère un autre problème qui devrait je pense être réglé rapidement : le redimensionnement ne se fait plus lorsqu'on passe d'une "grande" image à une plus "petite" image, il doit falloir refaire les chemins pour assigner le bon objet à la gestion du format.
transBG_mc.picBG_mc.bg_mc.tween(["_width", "_height"], [mcW+imageBorder, mcH+imageBorder], 0.5, undefined, 0, function() { }); transBG_mc.picBG_mc.bg_mc.alphaTo(100, 0.5, "linear", 0, function() { imageHolder.alphaTo(100, 2); });
var bitmap:BitmapData; function loadFull(imgToLoad, desc){ var tofcharge = imageDir+imgToLoad; 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; bitmap.dispose(); bitmap = 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(tofcharge, 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(); } } }
function displayFullImage(imageHolder, desc) { var imageBorder = 20; var mcW = imageHolder._width; var mcH = imageHolder._height; //total of images in chosen category var totalImages = myGallery[curCat]["image"].length; curImage_txt.text = Number(_root.curImage+1)+" sur "+totalImages; enableImageNav(true); //trace(mcW); if(mcW > 710) { imageHolder.maxWidth = 710; var newSize = imageHolder.resizeToFit(); imageHolder.tween(["_width", "_height"], [newSize.newWidth, newSize.newHeight], 0.5, undefined); var mcW = newSize.newWidth; var mcH = newSize.newHeight; } var xCenter = (transBG_mc.fake_btn._width/2) - (Number(mcW+imageBorder)/2); var yCenter = (transBG_mc.fake_btn._height/2) - (Number(mcH+imageBorder)/2); // center the image transBG_mc.picBG_mc.slideTo(xCenter, yCenter, 0.5); // resize the background transBG_mc.picBG_mc.bg_mc.tween(["_width", "_height"], [mcW+imageBorder, mcH+imageBorder], 0.5, undefined, 0, function() { }); transBG_mc.picBG_mc.bg_mc.alphaTo(100, 0.5, "linear", 0, function() { imageHolder.alphaTo(100, 2); });