Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    73

    load img unload e ridimensiona

    Carico in un mc un jpg, lo ridimensiono in scala per farlo restare nel mc, creo un duplicato del mc ricarico e ridimensiono il jpg anche in questo (che mandato al frame 3 diventa draggabile):

    codice:
    function CaricaAnteprime(targ,img){
    	//########### carico immagine nell'anteprima ###############
    	loadMovie(_root.datiCliente[0]+"/"+img,_root[targ].img)
    	// calcolo con l'enter Frame le dimensioni originali
    	_root[targ].onEnterFrame=function(){
    		if (_root[targ].img.getBytesLoaded()>1024 && _root[targ].img.getBytesLoaded() ==_root[targ].img.getBytesTotal()) {
    			// calcolo dimensioni originali
    			_root[targ].img.larg=_root[targ].img._width
    			_root[targ].img.alt=_root[targ].img._height
    			//trace(_root[targ].img.contr)
    			//ridimensiona mc
    			_root[targ].img._yscale=10000/_root[targ].img.larg;
    			_root[targ].img._xscale = Math.floor(10000/_root[targ].img.larg);
    			_root[targ].gotoAndStop(2);
    			delete _root[targ].onEnterFrame;
    			}
    	}
    	//######## duplico il mc drag ####################
    	_root.contatore++
    	duplicateMovieClip(_root[targ],targ+"d",_root.contatore);
    	// carico immagine nel duplicato
    	loadMovie(_root.datiCliente[0]+"/"+img,_root[targ+"d"].img)
    	// calcolo con l'enter Frame le dimensioni originali
    	_root[targ+"d"].onEnterFrame=function(){
    		if (_root[targ+"d"].img.getBytesLoaded()>1024 && _root[targ+"d"].img.getBytesLoaded() ==_root[targ+"d"].img.getBytesTotal()) {
    			// calcolo dimensioni originali
    			_root[targ+"d"].img.larg=_root[targ+"d"].img._width
    			_root[targ+"d"].img.alt=_root[targ+"d"].img._height
    			//trace(_root[targ].img.contr)
    			//ridimensiona mc
    			_root[targ+"d"].img._yscale=10000/_root[targ+"d"].img.larg;
    			_root[targ+"d"].img._xscale = Math.floor(10000/_root[targ+"d"].img.larg);
    			_root[targ+"d"].gotoAndStop(3);
    			_root[targ+"d"]._x=30
    			delete _root[targ+"d"].onEnterFrame;
    			//trace(_root[targ].img.contr)		
    		}
    	}
    }
    Chiamo la funzione:

    codice:
    on (release) {
    CaricaAnteprime("mc_0","0002.jpg")
    }

    poi ho un pezzo di codice che mi permette di selezionare un mc e di elimiarlo (removeMovieClip per quello duplicato e unloadMovie per il "padre")

    Il problema è che la prima volta l'immagine mi viene ridimensionata, una volta rimossa, se la ricarico nella miniatura non avviene il resize, la rimuovo nuovamente, ricarico ed è ok... c'è una sorta di effetto toogle..

    qualcuno riesce a capire dov'è l'inghippo che mi ridimensiona l'immagine (mc) una volta si e una no?

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Invece di caricare le immagini sempre nello stesso movieclip, crealo dinamicamente e rimuovilo ogni volta al cambio di foto, in modo da resettare tutte le possibili proprietà e variabili..

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    73
    Ciao,
    mi spiego meglio:
    nello stage sulla dx ho 6 aree di preview (mcTarget) in cui l'utente può caricare delle immagini, contemporaneamente sulla sinistra appaiono i cloni dei preview mcPers, quest'ultimi sono draggabili e e si possono ridimensionare, sono personalizzabili.
    ho bisogno di avere sullo stage entrambi i mc (mcTarget e mcPers), i mcPers concorrono a costruire un disegno complesso, i mcTarget per accedere a delle proprietà sulle singole immagini, per farlo dentro ogni mcTarget ci sono altre chiamate a singoli script.
    Tutto va bene a meno che se l'utente, ad un certo punto decide di eliminare un'immagine e di caricarne un'altra al suo posto..a questo punto inizia a non ridimensionare (una volta sì e una no) l'immagine ma solo nel mcTarget ...il suo clone (seconda parte dello script) va sempre bene...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.