Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    178

    Tween e flash.display.BitmapData non vanno d'accordo

    Salve.
    Io ho una funzione che mi carica delle immagini e tutto schermo molto grandi a cui applico uno smoothing tramite la classe flash.display.BitmapData e a caricamento finito uso una tween che mi fa apparire con un effetto di assolvenza l'immagine

    Codice PHP:
    import mx.transitions.*;
    import mx.transitions.easing.*;
    import flash.display.BitmapData;

    MovieClip.prototype.chg_A = function(__Af,duration) {
        var 
    object:Object = new Tween(this"_alpha"Regular.easeOutthis._alpha__Afdurationfalse);
    }

    function 
    CreaBig(ind,remove)
    {
        
    counter++
        var 
    target _level0.caricaSwf.paginaCorrente.img.createEmptyMovieClip("mcEmpty" countercounter)
        
    target._alpha 0
        
    var BigLoader:Object = new MovieClipLoader();
        
        
    BigLoader.onLoadInit = function(CopiaIMG:MovieClip)
        {
            var 
    DrawIMG:flash.display.BitmapData = new flash.display.BitmapData (CopiaIMG._widthCopiaIMG._heighttrue);
            
    DrawIMG.draw(CopiaIMG);
            
    target.attachBitmap(DrawIMG,1,"auto",true);
            
            
    resizeImage();//richiamo della funzione che mi ridimensiona l'immagine adattandola al browser
            
    target.chg_A(100,10);//richiamo della Tween
        
    }
        
    BigLoader.onLoadStart = function(CopiaIMG:MovieClip)
        {
            
    preloadBig _level0.attachMovie("mcPreloadBig","mcPreloadBig",1);
            
    preloadBig._x = -_level0.cx
            preloadBig
    ._y 580 _level0.cy preloadBig._height;
            
    preloadBig._width Stage.width
            preloadBig
    .barra._xscale 1;
            
    preloadBig.fri 20;
            
    preloadBig.dec .3;
        }
        
    BigLoader.onLoadProgress = function(CopiaIMG:MovieClipBytesLoaded:NumberBytesTotal:Number)
        {
            
    preloadBig._x = -_level0.cx;
            
    preloadBig._width Stage.width;
            
    PercIMG Math.floor((BytesLoaded/BytesTotal)*100);
            
    preloadBig.barra._xscale -=((preloadBig.barra._xscale PercIMG)/preloadBig.fri)/preloadBig.dec;
        }
        
    BigLoader.onLoadComplete = function(CopiaIMG:MovieClip)
        {
            
    removeMovieClip(preloadBig)
            
    target.attachBitmap(DrawIMG,1,"auto",true);*/
        }
        var 
    DrawIMG = new MovieClipLoader();
        if (!
    remove)
        {
            
    DrawIMG.addListener(BigLoader);
            
    DrawIMG.loadClip("/swf/Gallery/"ind ".jpg",target)
        }
        else
        {
            
    DrawIMG.removeListener(BigLoader);
            
    DrawIMG.unloadClip(target);
        }
    }

    CreaBig(0,false
    Il problema è che l'effetto di assolvenza viene svolto a SCATTI!
    Se elimino la parte di codice che mi fa lo smoothing il difetto scompare e la tween va come dovrebbe.

    Ho provato a usare anche librerie come TweenLite e TweenMax, ma la situazione non migliora. Qualcuno sa darmi un suggerimento...
    Iohannes

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    178
    Nessuno mi sa dare una mano?!?
    AiutoooOO!
    Iohannes

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    178
    C'è un modo per rilevare l'esatto momento in cui lo smoothing è stato completato in modo da non avere l'esecuzione della tween (assolvenza con l'alpha) contemporanea all'esecuzione del draw?
    Iohannes

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    178
    Ho riletto proprio una mia vecchia discussione qui su questo forum su un argomento praticamente identico e And80 mi aveva risposto dicendomi che non si può rilevare l'esatto momento in cui viene eseguito e completato lo smoothing.

    E allora come posso fare in modo che la Tween non interferisca con lo smoothing?

    Ho provato pure a posticipare l'esecuzione della Tween tramite un setIntervall
    Ma non sembra che gliene freghi tanto.


    And80 aiutooooooo!
    Iohannes

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.