Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    272

    smoothing in runtime su slide di immagini

    ciao a tutti!
    stò cercando di applicare lo smoothing a delle immagini che carico esternamente..
    questo il codice:

    codice:
    import flash.display.BitmapData;
    var bmp:BitmapData;
    
    slideshowState = true;
    
    var mclListenerSlideshow:Object = new Object();
    var image_mclSlide:MovieClipLoader = new MovieClipLoader();
    image_mclSlide.addListener(mclListenerSlideshow);
    
    
    //--------------------------------------------------punto di partenza del contatore per l'incremento variabile del ciclo(non toccare)
    var contatore = 0;
    
    function backgroundChangeSlide(backName) {
    	
    	var mcSlideDummy = dummy.createEmptyMovieClip("mcSlideDummy", dummy.getNextHighestDepth());
    	
    	if ( slideshowState == true ) image_mclSlide.loadClip(backName, mcSlideDummy);
    }
    
    mclListenerSlideshow.onLoadInit = function(target_mc) {
    	smoothImageSlide(target_mc);
    }
    
    function smoothImageSlide(target_mc){
    
    	bmp = new BitmapData(target_mc._width, target_mc._height, true, 0x000000);
        bmp.draw(target_mc, null, null, null, null, true); 
    
        mclListenerSlideshow.unloadClip(target_mc);
        target_mc.removeMovieClip();
    
    	swapMcSlide();
    	
    }
    
    function swapMcSlide(){
    
    	mcSlide._alpha = 0;
    	if (bmp != undefined) mcSlide.attachBitmap(bmp, 0);
    	
    
    	
    	//-------------------------------------------- swap degli mc
    	if (mcSlide == mc1Slide) mcSlide.swapDepths(mc2Slide)
    	else mcSlide.swapDepths(mc1Slide);
    
    
    	if (mcSlide == mc1Slide)
    	{
    		backgroundResizing(mcSlide);
    		
    		mc1Slide.alphaTo(100, 1);
    		
    		mc2Slide.alphaTo(0,1,undefined, 5, function(){
    			mcSlide = mc2Slide;
    			
    			contatore++;
    
    			contatore = contatore % imgTotNum;
    
    			startSlideshow();
    		})
    	}
    	
    	else
    	{
    		backgroundResizing(mcSlide);
    		
    		mc2Slide.alphaTo(100, 1);
    		
    		mc1Slide.alphaTo(0,1,undefined, 5, function(){
    			mcSlide = mc1Slide;
    			
    			contatore++;
    
    			contatore = contatore % imgTotNum;
    
    			startSlideshow();
    		})
    	}
    }
    
    function startSlideshow(){
    	backgroundChangeSlide(slideArray[contatore].imgFull);
    	configText();
    }
    il problema è che pare nn funzionare, perchè si vede il background bianco (o nero, dipende cosa ho settato in

    codice:
    bmp = new BitmapData(target_mc._width, target_mc._height, true, 0x000000);
    se invece elimino la funzione di smoothing qui
    (levando true e tutti i parametri a null):
    codice:
    bmp.draw(target_mc, null, null, null, null, true);
    tutto funziona perfettamente.


    sapreste spiegarmi dove stò sbagliando? grazie mille! ;D

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao..

    :master: Non ho idea del perché non ti funzioni il tuo script e non voglio nemmeno saperlo, ma so che per applicare lo smoothing, dalla versione 9 in poi del flash player, si può semplicemente utilizzare la proprietà forceSmoothing..
    Baserà applicarla al clip in cui carichi l'immagine..

    codice:
    mclListenerSlideshow.onLoadInit = function(target_mc) {
    	target_mc.forceSmoothing = true;
    }
    Questa proprietà non è documentata in flash 8, per cui è possibile che tu non la conoscessi.. diversamente non mi è chiaro perché ti stia impegolando in determinati escamotage.

    Tieni inoltre presente che se pubblichi direttamente da flash 8 non otterrai nessun effetto, perché in quel caso si tratta del flash player 8, dovrai perciò aprire il filmato sul browser (e avere installata almeno la versione 9 del flash player)..
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    272
    ciao KillerWorm, ti ringrazio molto per la dritta!
    certo che potevano anche mettere un link nella documentazione...ho capito che la classe BitmapData e MovieClip son due cose distinte...ma l'argomento smoothing è decisamente correlato!

    in ogni caso grazie mille, domani testo subito!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.