Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    28

    ridimensionare un mc e non scalarlo

    Salve a tutti,
    ho realizzato una barra preload alta 2px e larga diciamo 300px. questa barra serve per mostrare il caricamento di un'immagine esterna. quando finisce il preload la barra dovrebbe "alzarsi" e diventare alta come l'immagine che ha caricato e poi, sfumando, farla vedere.
    io mi muoverei così:
    1. creo la barra come movie clip alta 2px e larga 300px;
    2. vedo quanto alta è l'immagine che devo caricare (attraverso un file xml o un file di testo, questo è una cosa da vedere, ma facciamo finta che sappia esattamente l'altezza dell'imagine), faccio barra._width = altezzaJpg;
    3. scalo la barra in modo da riportarla ad essere alta 2 px (come faccio?);
    4. uso la percentuale di caricamento per scalarla fiino all'altezza giusta, barra._yscale = percentualeCaricamento;
    qualcuno ha qualche suggerimento per esempio per il punto 3?

    vi ringrazio!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    28
    ecco, ho già i primi problemi...
    allora, posto il codice:

    codice:
    //CARICA LA PRIMA IMMAGINE
    var immagine:Number = 1;
    var imgHeight:Number = 446;
    var imgWidth:Number = 480;
    
    //CODICE PER LISTENER CARICAMENTO DINAMICO IMMAGINI
    _root.createEmptyMovieClip("img_mc", 999);
    var my_mcl:MovieClipLoader = new MovieClipLoader();
    var mclListener:Object = new Object();
     
    mclListener.onLoadStart = function(target_mc:MovieClip):Void {
    };
    mclListener.onLoadProgress = function(target_mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number):Void {
        var numPercentLoaded:Number = numBytesLoaded / numBytesTotal * 100;
        trace("onLoadProgress: " + target_mc + " is " + numPercentLoaded + "% loaded" + " | " + Math.round(numPercentLoaded));
    	_root.barraGrigia._xscale = Math.round(numPercentLoaded);
    };
    
    mclListener.onLoadInit = function(target_mc:MovieClip) {
    };
    
    my_mcl.addListener(mclListener);
    //my_mcl.loadClip("immagini/1.jpg", img_mc);
    
    _root.caricaImmagine(immagine);
    
    function caricaImmagine(id){
    	_root.barraGrigia._width = _root.imgWidth;
    	_root.barraGrigia._height = _root.imgHeight;
    	trace("width = " + _root.barraGrigia._width);
    	_root.barraGrigia._xscale = 0;
    	_root.barraGrigia._visible = true;
    	_root.my_mcl.loadClip("immagini/1.jpg", img_mc);
    }
    (ho eliminato i listener che non usavo per alleggerire il post) allora, oltre a creare i listener chiamo una funzione (caricaImmagine(immagine)) la quale dovrebbe settare le dimensioni corrette del clip _root.barraGrigia (che è la mia barra preload), poi scalarla in x a 0 e poi ingrandirla attraverso il listener onLoadProgress...
    ora, la mia barra di partenza è grande come lo stage perchè la ridimensione appena prima di caricare un'immagine, ma il codice che ho postato non la ridimensiona!
    cioè la barra rimane larga 800 pixel invece di diventare larga come _root.imageWidth...
    idee?

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.