Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    ridimensionare immagine caricata esternamente in un movieclip

    Salve, ho un problemino con action script.
    Ho delle immagini che vengono caricate in un movieclip (tipo slide-show), ma essendo di dimensioni diverse come faccio a ridimensionarle in maniera che rientrino nel rettangolo di sfondo?

    Grazie anticipatamente a chiunque mi risponda.
    Ciao


  2. #2
    io ho messo nel fotogramma iniziale:

    image._width = 52;
    image._height = 40;

    e funziona (image è il movieclip con l'immagine)

  3. #3
    Ciao Annina, scusami ma so' de coccio!!
    Questo è il codice che si trova nel frame:

    loadMovie("Nomefoto.jpg", "foto");

    Dove dovrei mettere le tue istruzioni? Prima, dopo?
    Ah.. chiaramente il nome dell'istanza del movieclip è 'foto'.

    Scusa la mia somaraggine e grazie ancora!! Ciao!

  4. #4
    beh, prima carichi l'immagine e poi la ridimensioni, quindi quello che ti ho scritto lo inserisci dopo che hai richiamato l'immagine:

    loadMovie("Nomefoto.jpg", "foto");
    foto._width = 52;
    foto._height = 40;


  5. #5
    Originariamente inviato da annina79
    beh, prima carichi l'immagine e poi la ridimensioni, quindi quello che ti ho scritto lo inserisci dopo che hai richiamato l'immagine:

    loadMovie("Nomefoto.jpg", "foto");
    foto._width = 52;
    foto._height = 40;


    In questo modo non ti funzionerà mai, prima di ridmensionare devi attandere che termini di caricarsi, quindi devi mettere un preload sul clip foto,e quando finoto di caricare l'immagine esterna le ridimensioni. Se fai una ricerca ci sono stati molti post come questo, troverai sicuramente anche uno script bello pronto


  6. #6
    Ho risolto, questo è il codice nel frame della linea temporale:

    loadMovie("nomeimmagine.jpg", "nomemovieclip");

    Invece nel movie clip ho messo:

    onClipEvent(enterFrame) {
    _width=585;
    _height=445;
    }

    ...e voilà FUNZIONA!!!!

    Grazie mille a tutti voi

  7. #7
    Originariamente inviato da matusalem
    Ho risolto, questo è il codice nel frame della linea temporale:

    loadMovie("nomeimmagine.jpg", "nomemovieclip");

    Invece nel movie clip ho messo:

    onClipEvent(enterFrame) {
    _width=585;
    _height=445;
    }

    ...e voilà FUNZIONA!!!!

    Grazie mille a tutti voi
    Si così funziona, ma carichi di molto la cpu, e poi non ha senzo fare un enterFrame solo per ridimensionare un clip, io ti consiglio di farti un preload ed effettuare quello che ti serve quando è terminato il caricamento, però tu fai come vuoi.


  8. #8
    Accetto il consiglio.
    Oggi mi metto all'opera e ti faccio sapere.
    Grazie, Ciao

  9. #9
    Prova a studiare questo esempio che carica una foto ridotta e la stessa in originale


    codice:
    // creo un contatore per comodità se è un caricamento multiplo
    ID=1
    // creo il nome immagine
    img = "load_foto"+ID+".jpg";
    
    // creo il clip vuoto
    this.createEmptyMovieClip("clip"+ID, ID+10);
    this.createEmptyMovieClip("originale", ID+20);
    
    // assegno un nome di comodo al clip
    mc = eval(this["clip"+ID]);
    mc._x=20;mc._y=30
    originale._x= 120;originale._y=30
    // carico l'immagine
    mc.loadMovie(img); 
    originale.loadMovie(img)
    // azzero l'_alpha
    mc._alpha=0
    
    
    // calcolo con l'enter Frame le dimensioni originali
    this.onEnterFrame=function(){
    			
    		    if (mc.getBytesLoaded()>1024 && mc.getBytesLoaded() == mc.getBytesTotal()) {
    				// calcolo dimensioni originali
    				mc.larg=mc._width
    			    mc.alt=mc._height
    				// chiamo la funzione di re-dimensionamento
    				dimensiona(mc.larg, mc.alt)
    				// cancello enterframe
    			    delete this.onEnterFrame
    			}
    }
    
    
    
    function dimensiona(larg, alt){
    	mc._xscale = Math.floor(10000/larg)
    	mc._yscale = Math.floor(10000/alt)
    	mc._alpha = 0;
    	// faccio apparire gradualmente l'immagine
    	mc.onEnterFrame = function(){ 
    				// enterFrame per aumentare gradualmente l'alpha dell'immagine caricata
    				if(this._alpha < 100){this._alpha+=20;} 
    				else {this._alpha = 100;delete this.onEnterFrame;}
    			}
    }

    Ciao

  10. #10
    Tra ieri e oggi non ho potuto combinare niente.
    Stasera mi studio le vostre dritte e se nel frattempo avrò qualche problemino (cosa che sicuramente avrò), spero che non mi lapidiate se ho bisogno.
    Grazie a tutti, e buon proseguo di giornata
    Ciao

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.