Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    855

    help ridimensionare immagine

    ciao a tutti,
    ho bisogno di un suggerimento...

    carico un'immagine esterna in un MC

    come posso farla ridimensionare come nell'esempio

    http://www28.websamba.com/polecat/prova.swf

    quali parametri devo impostare sempre se si puo fare?

    ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    supponendo che il tuo mc sia al 100% e che tu debba farlo arrivare al 200%, dovrebbe bastare una cosa del genere:

    onClipEvent(enterFrame){
    if(this._xscale <= 200){
    this._xscale += 10
    this._yscale += 10
    }if(this._xscale >= 200){
    delete onEnterFrame
    }
    }

    devi associare questo codice al tuo mc.
    così incrementi la dimensione del 10%. idem per tutto ciò che sta dentro.

    ho fatto solo il controllo della xscale perchè se lo fai proporzionato è inutile inserire anche yscale


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    scusami, credo sia meglio usare questo codice.

    codice:
    mc.onEnterFrame=function(){
    	trace(mc._xscale)
    	fine = 200
    	if(mc._xscale < fine){
    		mc._xscale += 10
    		mc._yscale += 10
    	}else{
    		trace("fine")
    		delete mc.onEnterFrame
    	}
    }
    da mettere nel livello delle azioni sulla root

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    855
    e per farlo partire al 50% e farlo arrivare al 100%?

    come faccio

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    imposti mc_xscale e yscale iniziale e nel codice di prima metti 100 al posto di 200

    codice:
    mc._xscale = 50;
    mc._yscale = 50;
    mc.onEnterFrame=function(){
    	trace(mc._xscale)
    	fine = 100
    	if(mc._xscale < fine){
    		mc._xscale += 10
    		mc._yscale += 10
    	}else{
    		trace("fine")
    		delete mc.onEnterFrame
    	}
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    855
    scusa, ma non mi fa l'animazione...
    mi fa vede l'output
    50
    60
    70
    80
    80
    100
    fine

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    :master: molto strano perchè tu fai il trace dell'xscale e quindi se ti mostra 50,60,70 ecc... vuol dire che lo fa.

    dimmi esattamente cosa succede. ti fa quel trace e poi ti carica l'immagine?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    855
    allora l'animazione non c'è..
    l'immagine è ferma e sull'output is vede solo 50

    prima mi ha fatto 50, 60, 70...perchè il nome dell'Mc era diverso da quello che avevi dato tu (il mio era "vuoto" l'ho rinominato in "mc")

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    ritentiamo. ora ho fatto la prova e si carica.
    codice frame as

    this.onLoad = loadMovie("immagine.jpg", _root.mc)
    mc._xscale = 50;
    mc._yscale = 50;

    sul mc:
    codice:
    onClipEvent(enterFrame){
    
    			trace(this._xscale)
    			fine = 100
    			if(this._xscale < fine){
    				this._xscale += 10
    				this._yscale += 10
    			}else{
    				trace("fine")
    				delete this.onEnterFrame
    			}
    }
    la cosa che però non funziona in questo caso è il delete onEnterFrame
    comunque comincia a testare il resto

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    l'operazione di ridimensionamento può essere fatta solo a caricamento avvenuto della nuova immagine nel clip, tra l'altro _xscale e _yscale funzionano abbastanza male quando si tratta di immagini caricate esternamente, la cosa potrebbe funzionare meglio usando la classe MovieClipLoader per caricare l'immagine, ma non ne garantisco ugualmente il risultato

    oltretutto io non userei lo stesso clip per attivare l'enterFrame, si potrebbe usare un object per ottenere lo stesso risultato
    codice:
    var rszObj = new Object();
    rszObj.endResize = function(clip){
    	if(this[clip._name] != undefined){
    		clearInterval(this[clip._name]);
    	}
    }
    rszObj.ridimensiona = function(clip){
    	if(clip._xscale < 100){
    		clip._xscale += 10;
    		clip._yscale += 10;
    	} else {
    		this.endResize(clip);
    	}
    }
    rszObj._resize = function(clip){
    	this.endResize(clip);
    	this[clip._name] = setInterval(this, "ridimensiona", 50, clip);
    }
    //si applica con:
    rszObj._resize(_root.mc);
    
    //ovviamente non ha effetto se non quando, a immagine caricata, si danno _xscale e _yscale inferiori al 100% al clip
    scusate il brutale intervento...

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.